首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TabWidged上的HorizonatalScrollView“窃取”空间

TabWidged上的HorizonatalScrollView“窃取”空间
EN

Stack Overflow用户
提问于 2011-09-03 01:47:36
回答 2查看 831关注 0票数 1

我有一个底部带有自定义TabWidgets的TabActivity。我希望能够添加5个以上的标签。与动态添加"more“按钮的MenuBar不同,Tabs只是调整了大小,看起来很糟糕。所以我的第一个尝试是将我的TabWidgets包装到一个HorizontalScrollView中。问题是,我有一个ListView作为TabContent,它的最后一项似乎隐藏在我的TabWidgets后面。这是我的TabView的布局

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/main_linlay_parent"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  <TabHost 
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
      android:id="@+id/main_tablinear"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@android:id/tabs"/>
      <HorizontalScrollView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:scrollbars="none"
        android:layout_alignParentBottom="true">
        <TabWidget
          android:id="@android:id/tabs"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:layout_gravity="center"/>
      </HorizontalScrollView>
    </RelativeLayout>
  </TabHost>
</LinearLayout>

我是不是在布局中做错了什么?有没有更好的方法来应用4个以上的标签?虽然我可以看到我的Nexus-S的4个标签很好,但我认为他们已经很丑陋的野火。有什么好的想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-05 16:01:38

我自己解决了我的问题!我认为它可以帮助其他用户看到解决方案:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/main_linlay_parent"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  <TabHost 
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
      android:id="@+id/main_tablinear"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@android:id/tabs"
        android:layout_marginBottom="50dip"/>
        <!-- note: margin bottom 50 dip above: 
           its exactly the size of my custom TabWidget  -->
      <HorizontalScrollView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:scrollbars="none"
        android:layout_alignParentBottom="true">
        <TabWidget
          android:id="@android:id/tabs"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:layout_gravity="center"/>
      </HorizontalScrollView>
    </RelativeLayout>
  </TabHost>
</LinearLayout>
票数 0
EN

Stack Overflow用户

发布于 2011-09-03 02:03:47

尝尝这个。这对我来说很有效:

代码:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TabHost android:layout_weight="1" android:id="@android:id/tabhost"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:orientation="vertical">
        <HorizontalScrollView android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <LinearLayout android:layout_height="fill_parent"
                android:orientation="horizontal" android:layout_width="fill_parent">
                <TabWidget android:layout_height="wrap_content"
                    android:id="@android:id/tabs" android:isScrollContainer="true"
                    android:layout_width="fill_parent" android:scrollbars="horizontal"></TabWidget>
            </LinearLayout>
        </HorizontalScrollView>
        <FrameLayout android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:id="@android:id/tabcontent">
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:id="@+id/tab1"></LinearLayout>
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:id="@+id/tab2"></LinearLayout>
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:id="@+id/tab3"></LinearLayout>
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:id="@+id/tab4"></LinearLayout>
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:id="@+id/tab5"></LinearLayout>
        </FrameLayout>
    </LinearLayout>
</TabHost></LinearLayout>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7287327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档