Android: прокручиваемые вкладки - PullRequest
5 голосов
/ 19 июня 2010

Я сейчас работаю над своим первым приложением для Android. Я использую макет с вкладками для моего приложения. Я следовал этому руководству в руководстве разработчика и столкнулся с проблемой. В учебнике использовались только три вкладки, но мне нужно больше. Таким образом, вкладки изменяют размер и объединяются. Я надеялся, что кто-нибудь скажет мне, как заставить их прокручивать, как в браузере дельфинов при использовании нескольких вкладок. Спасибо!

~ Aaron

Ответы [ 3 ]

12 голосов
/ 23 декабря 2011

Используя сказанное Йоэлем, просто добавьте: android:fillViewport="true и android:scrollbars="none"

к HorizontalScrollView следующим образом:

    <HorizontalScrollView 
       android:id="@+id/horizontalScrollView1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
       android:fillViewport="true"
       android:scrollbars="none" >

       <TabWidget
           android:id="@android:id/tabs"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content" />

    </HorizontalScrollView>
3 голосов
/ 09 июня 2011

Я бы порекомендовал вместо этого обернуть TabWidget HotizontalScrollView.таким образом, вы все еще можете использовать вкладки как есть.

    <HorizontalScrollView 
        android:id="@+id/horizontalScrollView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        >

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

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

1 голос
/ 19 июня 2010

в этом случае вы, вероятно, не хотите использовать вкладки.Скорее, вы можете поместить все свои «вкладки» в горизонтальный линейный макет в верхней части экрана, завернутый в ScrollView, как это

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" android:layout_width="fill_parent">
    <LinearLayout 
        android:orientation="horizontal" android:layout_height="wrap_content"
        android:layout_width="fill_parent">

        ...buttons go here...

    </LinearLayout>
</HorizontalScrollView>

Я думаю, что это даст вам результат, который вы ищетедля, но дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...