Vue de navigation inférieure personnalisée

Important

Les fonctionnalités et l’aide décrites dans cet article sont en préversion publique et peuvent faire l’objet de modifications importantes avant leur lancement en disponibilité générale. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.

BottomNavigationView est une vue BottomNavigationView qui peut détecter une fonctionnalité de pliage et qui positionne ses vues enfants à gauche ou à droite de celle-ci.

displayPosition : détermine sur quel écran la vue est rendue. Il peut s’agir de l’une des trois valeurs suivantes :

  • DisplayPosition.START - regroupé à gauche de la fonctionnalité de pliage. START: tabs on the first screen

  • DisplayPosition.END - regroupé à droite de la fonctionnalité de pliage. END: tabs on the first screen

  • DisplayPosition.DUAL - réparti sur l’écran entier (peut s’afficher sous la charnière). DUAL: tabs on the first screen

bottomNavigationView.displayPosition = DisplayPosition.START

Le même résultat peut être obtenu en utilisant l’attribut 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 - lorsque l’application s’étend sur la fonctionnalité de pliage et que le composant comprend un nombre impair de boutons, celui du milieu sera recouvert par la charnière (si l’appareil a une charnière physique). Pour éviter cela, vous pouvez disposer les boutons différemment sur chaque écran :

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

bottomNavigationView.arrangeButtons(3, 2)

useTransparentBackground - lorsque l’application s’étend sur toute la largeur de l’écran et qu’une partie du composant ne contient aucun bouton, l’arrière-plan de cette partie de l’écran peut être rendu transparent :

The background on the first screen is transparent

bottomNavigationView.useTransparentBackground = true

useAnimation - détermine si une animation est utilisée quand la disposition des boutons est modifiée. AccelerateDecelerateInterpolator est utilisé par défaut. Avec l’aide de la propriété animationInterpolator, vous pouvez le remplacer par n’importe quel autre interpolateur.

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

allowFlingGesture - si la valeur est true, displayPosition peut être défini sur DisplayPosition.START ou DisplayPosition.END avec un geste de lancement sur le composant.

bottomNavigationView.allowFlingGesture = true