Exibição de navegação inferior personalizada

Importante

Este artigo descreve funcionalidades e diretrizes que estão em versão prévia pública e podem ser modificadas substancialmente antes de passarem para a disponibilidade geral. A Microsoft não faz nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.

O BottomNavigationView é uma BottomNavigationView capaz de detectar um recurso de dobra e posicionar suas exibições filho à esquerda ou à direita dele.

displayPosition – determina em qual tela a exibição será renderizada. Pode ser um de três valores:

  • DisplayPosition.START – agrupado à esquerda do recurso de dobramento. START: tabs on the first screen

  • DisplayPosition.END – agrupado à direita do recurso de dobramento. END: tabs on the first screen

  • DisplayPosition.DUAL – estendido pela tela inteira (pode aparecer abaixo da dobradiça). DUAL: tabs on the first screen

bottomNavigationView.displayPosition = DisplayPosition.START

É possível fazer a mesma coisa usando o atributo 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 – quando o aplicativo é estendido sobre o recurso de dobramento e o componente tem um número ímpar de botões, o botão do meio é coberto pela dobradiça (quando o dispositivo tem uma dobradiça física). Um modo de evitar isso é organizar os botões de modo diferente em cada tela:

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

bottomNavigationView.arrangeButtons(3, 2)

useTransparentBackground – quando o aplicativo é estendido por toda a largura da tela e parte do componente não contém nenhum botão, a tela de fundo nessa parte da tela pode ser transparente:

The background on the first screen is transparent

bottomNavigationView.useTransparentBackground = true

useAnimation – determina se uma animação será usada quando a organização dos botões for alterada. Por padrão, AccelerateDecelerateInterpolator será usado. Com a ajuda da propriedade animationInterpolator, isso pode ser alterado para qualquer outro interpolador.

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

allowFlingGesture – se definido como true, displayPosition poderá ser definido como DisplayPosition.START ou DisplayPosition.END com um gesto de deslizar sobre o componente.

bottomNavigationView.allowFlingGesture = true