Поделиться через


Пользовательское представление навигации внизу

Важно!

В этой статье описаны функциональные возможности общедоступной ознакомительной версии, а также инструкции по ее использованию. Сведения могут быть существенно изменены, прежде чем версия станет общедоступной. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.

BottomNavigationView — это BottomNavigationView с возможностью обнаружения функции свертывания и размещения ее дочерних представлений слева или справа от нее.

displayPosition — определяет, на каком экране будет отображаться представление. Можно использовать одно из трех значений:

  • DisplayPosition.START — группировка слева от функции свертывания. START: tabs on the first screen

  • DisplayPosition.END — группировка справа от функции свертывания. END: tabs on the first screen

  • DisplayPosition.DUAL — развертывание на всем экране (может отображаться под петлей). DUAL: tabs on the first screen

bottomNavigationView.displayPosition = DisplayPosition.START

Этого же результата можно достичь, используя атрибут app:display_position:

<com.microsoft.device.dualscreen.bottomnavigation.BottomNavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:menu="@menu/bottom_nav_menu"
    tool:tools_application_mode="dual_screen"
    .....
    app:display_position="start"
     />

arrangeButtons — когда приложение размещается над функцией свертывания, а компонент имеет нечетное число кнопок, средняя будет закрыта петлей (если устройство имеет физическую петлю). Чтобы избежать этого, вы можете изменить отображение кнопок на каждом экране:

The buttons can be arranged in different ways on the two screens

bottomNavigationView.arrangeButtons(3, 2)

useTransparentBackground — когда приложение развертывается на всем экране, а часть компонента не содержит кнопок, фон в этой части экрана можно сделать прозрачным:

The background on the first screen is transparent

bottomNavigationView.useTransparentBackground = true

useAnimation — определяет, применяется ли анимация при изменении отображения кнопок. По умолчанию будет использоваться AccelerateDecelerateInterpolator. Свойство animationInterpolator позволяет задать любой другой интерполятор.

bottomNavigationView.useAnimation = true
bottomNavigationView.animationInterpolator = OvershootInterpolator()

allowFlingGesture — если задать значение true, для displayPosition можно указать значение DisplayPosition.START или DisplayPosition.END при жесте смахивания на компоненте.

bottomNavigationView.allowFlingGesture = true