Сделать вкладки в ActionBar прокручивать, когда достигнут предел, а не создавать выпадающий список

Как видно из названия, у меня есть приложение Android 4.0 Tablet, в котором используется режим Actionbar и tab.

Если я добавлю более 4 или 5 вкладок в панель действий, вместо этого будет создан раскрывающийся список. Я прочитал документацию, в которой говорится: «Примечание: в некоторых случаях система Android будет отображать вкладки панели действий в виде раскрывающегося списка, чтобы обеспечить максимальную совместимость с панелью действий».

Было просто интересно, можно ли переопределить поведение по умолчанию и заставить панель действий прокручивать элементы? В конструкторском документе http://developer.android.com/design/patterns/actionbar.html говорится о прокручиваемых вкладках, но я не могу найти никакой информации о них, кроме как в проектном документе.

Solutions Collecting From Web of "Сделать вкладки в ActionBar прокручивать, когда достигнут предел, а не создавать выпадающий список"

Я изо всех сил пытаюсь заставить это работать. Тем не менее, после игры с ActionBarSherlock, решение раздражающе легко. Если вы загружаете образец Styled и смотрите в классе MainActivity, вы можете увидеть его создание и добавление вкладок, а ниже:

actionBar.setDisplayShowTitleEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

Я назвал их ПЕРЕД добавлением вкладок, и мои вкладки были превращены в раскрывающийся список. Оказывается, все, что вам нужно сделать, это позвонить им после добавления вкладок, чтобы сохранить вкладки прокрутки.

Прочтите раздел «Добавление вида действия» в http://developer.android.com/guide/topics/ui/actionbar.html.

Представление действий представляет собой виджет, который появляется на панели действий в качестве замены кнопки элемента действия.

Вы можете использовать HorizontalScrollView качестве вида действия, указав

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/mytabwidget" android:title="" android:icon="@drawable/ic_launcher" android:showAsAction="always" android:actionViewClass="android.widget.HorizontalScrollView" /> </menu> 

Получить ссылку на этот HorizontalScrollView в public boolean onCreateOptionsMenu(Menu menu)

Определите RadioGroup с некоторым RadioButton где каждый RadioButton если выбрано, обновит содержимое связанных вкладок. Теперь добавьте эту RadioGroup в HorizontalScrollView которую вы получите в public boolean onCreateOptionsMenu(Menu menu)

Вы можете использовать selectTab(ActionBar.Tab tab) или какой-либо другой эквивалентный метод для обновления содержимого табуляций.

Вы можете изменить внешний вид RadioButton , установив android:button на прозрачное изображение, а затем установив некоторый StateListDrawable с проверенными состояниями, выбранными и обычными.

См. Ниже экран. Я использовал этот метод.

Введите описание изображения здесь

В приведенном выше изображении каждый флажок RadioButton когда установлен, выбирает другую вкладку.

Вы проверили образец приложения Honeycomb Gallery в SDK? У него может быть то, что вы ищете. Установите его на не-планшетное устройство ICS, чтобы просмотреть прокручиваемые вкладки. У планшета слишком много экранов для прокрутки.

http://developer.android.com/resources/samples/HoneycombGallery/index.html

Пользовательский интерфейс работает так, как по какой-то причине. Очень сложно использовать прокручиваемый набор вкладок. Существует хорошая вероятность того, что будет совсем не ясно, что справа есть больше вкладок, и пользователь никогда не узнает, что они могут прокручивать вкладки, чтобы получить больше возможностей.

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