2012-01-29 5 views
19

Если вы добавите вкладки к своему ActionBar, они будут в дополнительном штабелированном ActionBar на телефонах в портретном режиме. Есть ли простой способ узнать, произошло ли это?Узнайте, укладывается ли ActionBar

Я добавил два скриншота приложения YouTube. Первый показывает нормальный ActionBar с вкладками в нем, второй показывает вкладки в штабелированном ActionBar.

Youtube App (landscape) Youtube App (portrait)

ответ

1

Такое поведение называется Split Action Bar. Это происходит, когда AndroidManifest установлен с uiOptions="splitActionBarWhenNarrow" в элементе <activity> или <application>.

Android настраивает внешний вид панели действий различными способами, исходя из текущего размера экрана. Использование панели действий split - это всего лишь один из вариантов, позволяющий панели действий дополнительно оптимизировать работу пользователя для разных размеров экрана. При этом вы также можете разрешить панели действий сворачивать вкладки навигации в основную панель действий. То есть, если вы используете вкладки навигации в своей панели действий, как только элементы действия будут разделены на узком экране, вкладки навигации могут быть помещены в основную панель действий, а не разделены на «сложенную панель действий».

Mock-ups of split action bar with navigation tabs on the left; with the app icon and title disabled on the right.

Вы можете получить более подробную информацию here.

+1

Это не совсем то, что я просил. Цитата из ссылки внизу вашего сообщения: «Когда вы включаете панель действий разделения, * в нижней части экрана отображается отдельная полоса *, чтобы отображать все элементы действия, когда действие выполняется на узком экране (например, портрет ориентированный телефон). " – Julian

+1

Stacked ActionBar - это отличная вещь от Split ActionBar. Подробности находятся по той же ссылке, на которую ссылается ответ. – MSquare

2

Можно узнать, есть ли одна или две линии в строке действия по высоте is. Существует метод getHeight(), но он не будет работать в onCreate или onStart, он вернет реальное значение только в том случае, если уже запущена деятельность.

В горизонтальной ориентации высота бара действия 40dip (80/60/40/30 px на разных экранах), в портретной ориентации с вкладками 96dp (192/144/96/72 px).

Это не лучшая идея полагаться на это, но я не могу найти другого способа узнать, находятся ли вкладки внутри панели действий.

-2

ну, я создал actionBar, похожий на Instagram с нижним ActionBar, без необходимости использовать вкладки. взгляните на это изображение. Я ответил на этот связанный вопрос по другому вопросу 10 минут назад. CustomView ActionBar And Fake Bottom ActionBar Для этого вам необходимо создать три отдельных макета. один для дна, чтобы использовать его как Include и один для ActionBar. Использовать его как ActionBar View.

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

Смежные вопросы