Я пытаюсь использовать новый проект TabLayout в своем проекте. Я хочу, чтобы макет адаптировался к каждому размеру экрана и ориентации, но его можно увидеть правильно в одной ориентации.Android Support Design TabLayout: Gravity Center и Mode Scrollable
Я имею дело с силой тяжести и настройки режима мой tabLayout как:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Поэтому я ожидаю, что если нет места, то tabLayout прокручивать, но если есть место, то по центру.
Из путеводителей:
общественности статической окончательный ИНТ GRAVITY_CENTER Гравитация используется раскладывать вкладки в центре TabLayout.
public static final int GRAVITY_FILL Гравитация, используемая для заполнения как можно большего количества вкладок TabLayout. Этот параметр вступает в силу только при использовании с MODE_FIXED.
public static final int MODE_FIXED Фиксированные вкладки отображают все вкладки одновременно и лучше всего использовать с контентом, который извлекает выгоду из быстрого точек между вкладками. Максимальное количество вкладок ограничено шириной представления . Фиксированные вкладки имеют равную ширину, основываясь на самой широкой вкладке .
публичных статические финальные INT MODE_SCROLLABLE Прокручиваемых вкладок отображение подмножества вкладок в любом данный момент и могут содержать более длинные метки вкладок и большее количество вкладок. Они лучше всего используются для просмотра контекстов в сенсорных интерфейсах, когда пользователям не нужно напрямую сравнивать вкладки .
Так GRAVITY_FILL совместим только с MODE_FIXED, но на это ничего для GRAVITY_CENTER не уточнил, я ожидаю, что это будет совместимо с MODE_SCROLLABLE, но это то, что я получаю, используя GRAVITY_CENTER и MODE_SCROLLABLE
Таким образом, он использует SCROLLABLE в обеих ориентациях, но не использует GRAVITY_CENTER.
Это то, что я ожидал бы от пейзажа; но иметь это, мне нужно установить MODE_FIXED, так что я получаю в портрете:
Почему GRAVITY_CENTER не работает SCROLLABLE если tabLayout подходит к экрану? Есть ли способ установить динамику и режим динамически (и посмотреть, что я ожидаю)?
спасибо!
EDITED: Это макет моего TabLayout:
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:background="@color/orange_pager"
android:layout_height="wrap_content" />
@ Fighter42 вы нашли какое-либо решение этой проблемы? Я столкнулся с той же проблемой. – Spynet
Единственный способ, которым я нашел, - это получить размер ваших вкладок (вручную), а затем настроить параметры макета динамически в зависимости от того, подходит оно или нет. –
@ Fighter42, можете ли вы разместить образец кода для решения, которое вы используете? – Sammys