Android 2.3.3, сделать прокрутку списка вкладок?

1

У меня есть этот простой макет, который я нашел в качестве примера:

<?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 вкладок в код, я вижу, что они сжимаются вместе. Как я могу добавить прокручиваемые возможности для вкладок? (только вкладки, а не контент)

Одно приложение на моем телефоне имеет это, и это также выполняется без полос прокрутки. В принципе, для перемещения я просто нажимаю и удерживаю, а затем перетаскиваю вкладки влево, чтобы открыть больше вкладок. Как это можно достичь?

Теги:
android-layout
tabs

3 ответа

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>
  • 0
    Это также не дало никакого эффекта. Обновил мой пост с предыдущим комментарием. Весь XML-файл - это просто TabHost. (Это главное окно)
0

Вы можете попробовать установить минимальную ширину каждой вкладки так:

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
        tabHost.getTabWidget().getChildAt(i).setMinimumWidth(200);
    }
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>
  • 0
    Пробовал, но это не работает. Я немного новичок в этом приложении создания бизнеса. Eclipse сообщает мне, HorizontalScrollView-> layout_alignParentBottom = "true" = "Неверный параметр макета в LinearLayout: layout_alignParentBottom" и TabWidget-> layout_width = "fill_parent" = "Этот TabWidget должен использовать android: layout_width =" wrap_content "Любые идеи? мой код выше с вашим кодом)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню