Splash
Progression & retour visuel
Engine\Native\Splash laisse le développeur composer un écran de démarrage à partir de vrais widgets — un logo enveloppé dans Animated pour un fade-in, une boucle Lottie, ce dont la marque a besoin — plutôt que d'imposer une mise en page figée. Envelopper ce contenu dans Splash le transforme en véritable splash : paint() appelle Canvas::autoNavigate($nextScreen, $durationMs), si bien que le client pousse $nextScreen tout seul une fois le minuteur écoulé, sans aucun tap requis. C'est volontairement distinct du splash niveau OS (Theme.App.Starting, affiché pendant le démarrage du serveur PHP embarqué) : celui-ci reste minimal par nature, alors que Splash est le premier écran réellement rendu nativement, donc aussi élaboré que son contenu composé.
Exemple
<?php
use Engine\Native\Splash;
use Engine\Native\Animated;
use Engine\Native\Center;
use Engine\Native\Icon;
use Engine\Color;
$splash = new Splash(
content: new Center(
new Animated(
new Icon('bolt', size: 72.0, color: '#4F46E5'),
key: 'splash-logo',
),
),
nextScreen: 'home',
durationMs: 1800,
);Le logo (une icône Material) apparaît en fondu au centre de l'écran, puis le client navigue automatiquement vers l'écran home après 1800 ms, sans aucune interaction utilisateur.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| content | Widget | — | Le contenu du splash, composé librement (logo, animation, texte de marque…). |
| nextScreen | string | — | Nom de l'écran que le client doit pousser une fois le délai écoulé. |
| durationMs | int | 1800 | Délai en millisecondes avant la navigation automatique. |
À savoir.
autoNavigate()ne retient que le dernier appel d'une passe de peinture — un écran ne peut programmer qu'un seul saut automatique ; empiler deuxSplashdans le même arbre ferait gagner le second à être peint.