Я намагаюся використати новий проект TabLayout у своєму проекті. Я хочу, щоб макет адаптувався до будь-якого розміру екрана та орієнтації, але його можна правильно бачити в одній орієнтації.
Я маю справу з гравітацією та режимом, встановлюючи вкладку Layout як:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Отже, я очікую, що якщо місця немає, вкладку Layout можна прокручувати, але якщо є місце, вона буде відцентрована.
З путівників:
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, але, в is нічого не вказує для GRAVITY_CENTER, я очікую, що він буде сумісний з MODE_SCROLLABLE, але це те, що я отримую за допомогою GRAVITY_CENTER і MODE_SCROLLABLE
Отже, він використовує SCROLLABLE в обох орієнтаціях, але не використовує GRAVITY_CENTER.
Це те, чого я очікував би для ландшафту; але щоб це було, мені потрібно встановити MODE_FIXED, тож я отримую на портреті:
Чому GRAVITY_CENTER не працює для SCROLLABLE, якщо tabLayout відповідає екрану? Чи є спосіб встановити гравітацію та режим динамічно (і побачити, чого я очікую)?
Велике спасибі!
ВИДАЛЕНО: Це макет мого 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" />