Макет вкладок
Важно!
В этой статье описаны функциональные возможности общедоступной ознакомительной версии, а также инструкции по ее использованию. Сведения могут быть существенно изменены, прежде чем версия станет общедоступной. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.
TabLayout
— это пользовательский класс TabLayout. Когда приложение отображается на экранах на устройстве с возможностью складывания по вертикали, параметр displayPosition
можно использовать для отображения виджета слева или справа от петли либо над ней.
displayPosition
Возвращает или задает значение, определяющее, на каком экране будет отображаться представление. Можно использовать одно из трех значений:
DisplayPosition.START
DisplayPosition.END
DisplayPosition.DUAL
Подробности приведены ниже.
DisplayPosition.START
Вкладки группируются на первом экране.
DisplayPosition.END
Вкладки группируются на втором экране.
DisplayPosition.DUAL
Вкладки отображаются на двух экранах. Вкладки могут отображаться под петлей, а такое поведение нежелательно. Избежать этого можно с помощью функции arrangeButtons.
Этого же результата можно достичь, используя атрибут app:display_position
:
<com.microsoft.device.dualscreen.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tool:tools_application_mode="dual_screen"
...
app:display_position="start"
/>
arrangeButtons
Если приложение отображается над петлей, а компонент имеет нечетное число кнопок, средняя кнопка может перекрываться петлей или попадать на сгиб. Чтобы избежать этого, вы можете упорядочить кнопки с каждой стороны петли:
Это можно сделать с помощью функции arrangeButtons
.
useTransparentBackground
Если приложение развернуто и на экране отсутствуют кнопки, фон на таком экране можно сделать прозрачным:
allowFlingGesture
Если задать значение true, для displayPosition можно указать значение DisplayPosition.START
или DisplayPosition.END
при жесте смахивания на компоненте.
Этого же результата можно достичь, используя атрибут app:allowFlingGesture:
<com.microsoft.device.dualscreen.tabs.TabLayout
app:allowFlingGesture="true"/>