Android 2.3.3,使标签列表可滚动?

时间:2012-06-04 12:05:25

标签: java android android-layout tabs

我有一个简单的布局,我发现这是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    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="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:fillViewport="true"
            android:scrollbars="none" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_gravity="center" />
        </HorizontalScrollView>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </FrameLayout>
    </LinearLayout>

</TabHost>

在代码中添加8个标签后,我可以看到它们被挤压在一起。 如何向选项卡添加可滚动功能? (只是标签,而不是内容)

我的手机上的一个应用程序有这个,也没有任何滚动条。基本上,移动我只需按下并按住然后向左拖动标签以显示更多标签。如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

你试过这个吗?

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </TabHost>

</HorizontalScrollView>

答案 1 :(得分:0)

请尝试使用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>

答案 2 :(得分:0)

您可以尝试设置每个标签的最小宽度,如下所示:

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
        tabHost.getTabWidget().getChildAt(i).setMinimumWidth(200);
    }