PageView
Listes & défilement
Équivalent natif d'Engine\PageView : les pages changent via un tap sur des chevrons prev/next entourant des pastilles indicatrices, plutôt que par un geste de swipe horizontal. NativeCanvasView.kt gère un unique défilement vertical plein écran ; router un vrai geste de swipe horizontal imbriqué serait un travail de routage de gestes distinct, non couvert ici. $onPageAction (le champ fieldName) reçoit l'index de page cible via toggle:{fieldName} avec un méta next.
Exemple
<?php
use Engine\Native\PageView;
use Engine\Native\Center;
use Engine\Native\Text;
use Engine\Native\Tokens;
$pages = [
new Center(new Text('Bienvenue', Tokens::TEXT_TITLE, Tokens::ink()->toHex())),
new Center(new Text('Étape 2', Tokens::TEXT_TITLE, Tokens::ink()->toHex())),
new Center(new Text('Terminé', Tokens::TEXT_TITLE, Tokens::ink()->toHex())),
];
$view = new PageView(
pages: $pages,
currentPage: (int) ($_GET['onboarding_page'] ?? 0),
fieldName: 'onboarding_page',
height: 96.0,
);Un carrousel de 3 pages ; le tap sur un chevron déclenche toggle:onboarding_page avec l'index suivant/précédent, que l'écran doit relire depuis $_GET['onboarding_page'].
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| pages | array<int, Widget> | — | Liste des pages du carrousel. |
| currentPage | int | — | Index de la page affichée ; automatiquement borné entre 0 et count($pages) - 1. |
| fieldName | string | — | Nom de champ utilisé pour construire l'action toggle:{fieldName} des chevrons. |
| height | float | 96.0 | Hauteur de la zone de contenu de page (hors ligne de navigation). |
À savoir. Si
pagesest vide, la page affichée retombe sur uneSizedBox(0, 0); les chevrons restent présents mais leur métanextreste bornée sur l'unique index 0.