Vista de navegación inferior personalizada

Importante

En este artículo se describen la funcionalidad y las instrucciones que se encuentran en versión preliminar pública, por lo que pueden modificarse de forma sustancial antes de que estén disponibles con carácter general. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información que se ofrece aquí.

BottomNavigationView es un valor BottomNavigationView que puede detectar una característica de plegado y que coloca las vistas secundarias a la izquierda o a la derecha de ella.

displayPosition: determina en qué pantalla se representará la vista. Puede ser uno de tres valores:

  • DisplayPosition.START: se agrupa a la izquierda de la característica de plegado. START: tabs on the first screen

  • DisplayPosition.END: se agrupa a la derecha de la característica de plegado. END: tabs on the first screen

  • DisplayPosition.DUAL: se extiende por toda la pantalla (puede aparecer bajo la bisagra). DUAL: tabs on the first screen

bottomNavigationView.displayPosition = DisplayPosition.START

Se puede obtener lo mismo con el 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: cuando la aplicación se extiende por la característica de plegado y el componente tiene un número impar de botones, el central estará cubierto por la bisagra (si el dispositivo tiene una bisagra física). Una manera de evitarlo es organizar los botones de manera diferente en cada pantalla:

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

bottomNavigationView.arrangeButtons(3, 2)

useTransparentBackground: cuando la aplicación se extiende por todo el ancho de la pantalla y parte del componente no contiene botones, el fondo de esa parte de la pantalla se puede hacer transparente:

The background on the first screen is transparent

bottomNavigationView.useTransparentBackground = true

useAnimation: determina si se utiliza una animación cuando se cambia la disposición de los botones. De forma predeterminada, se usará AccelerateDecelerateInterpolator. Con la ayuda de la propiedad animationInterpolator, se puede cambiar a cualquier otro interpolador.

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

allowFlingGesture: si se establece en true, displayPosition se puede establecer en DisplayPosition.START o DisplayPosition.END con un gesto de deslizamiento en el componente.

bottomNavigationView.allowFlingGesture = true