Я пытаюсь использовать новый проект TabLayout в своем проекте. Я хочу, чтобы макет адаптировался к каждому размеру экрана и ориентации, но его можно увидеть правильно в одной ориентации.
Я имею дело с Gravity и Mode, устанавливая мой tabLayout как:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Поэтому я ожидаю, что если нет места, tabLayout прокручивается, но если есть место, оно центрируется.
Из руководств:
public static final int GRAVITY_CENTER Гравитация, используемая для выкладки вкладки в центре TabLayout.
public static final int GRAVITY_FILL Гравитация, используемая для заполнения TabLayout как можно больше. Эта опция действует только тогда, когда используется с MODE_FIXED.
public static final int MODE_FIXED Фиксированные вкладки отображают все вкладки одновременно и лучше всего использовать с контентом, который поворот между вкладками. Максимальное количество вкладок ограничено ширина просмотров. Фиксированные вкладки имеют равную ширину, основанную на самой широкой вкладке метка.
public static final int MODE_SCROLLABLE Прокручиваемые вкладки отображают подмножество вкладок в любой момент времени и может содержать более длинные метки ярлыков и большее количество вкладок. Они лучше всего подходят для просмотра контекстов в сенсорных интерфейсах, когда пользователям не нужно напрямую сравнивать вкладку метки.
Итак, GRAVITY_FILL совместим только с MODE_FIXED, но в at ничего не указывается для 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" />