BottomNavigation
Structure d'écran
Équivalent natif d'Engine\BottomNavigation, destiné au paramètre bottomNav de Scaffold, qui l'épingle en bas du viewport via Fixed. Chaque onglet déclenche tab:{screen} plutôt qu'un simple navigate:{screen} — NativeRenderPocActivity réinitialise toute la pile d'écrans sur cette unique entrée au lieu d'empiler, pour que changer d'onglet à répétition ne fasse pas grossir indéfiniment la pile de retour comme le ferait un vrai drill-down.
Exemple
php
<?php
use Engine\Native\BottomNavigation;
$nav = new BottomNavigation(
width: 360.0,
items: [
['icon' => 'home', 'label' => 'Accueil', 'screen' => 'home'],
['icon' => 'search', 'label' => 'Recherche', 'screen' => 'search'],
['icon' => 'person', 'label' => 'Profil', 'screen' => 'profile'],
],
currentScreen: 'home',
activeColor: null,
);Une barre de navigation à trois onglets ; l'onglet "Accueil" est mis en avant (icône + libellé en gras) car currentScreen vaut 'home'.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| width | float | — | Largeur de la barre, généralement la largeur de l'écran. |
| items | array<int, array{icon: string, label: string, screen: string}> | — | Onglets de la barre. |
| currentScreen | string | — | Identifiant de l'écran actif, utilisé pour surligner l'onglet correspondant. |
| activeColor | ?Color | null (Tokens::ink()) | Couleur de l'onglet actif ; les autres onglets utilisent Tokens::inkMuted(). |
À savoir.
BottomNavigation::HEIGHTvaut 64px — utilisé à la fois parScaffoldpour le padding bas du corps et pour positionner le Fab au-dessus de la barre.