Spinner
Progression & retour visuel
Engine\Native\Spinner est l'équivalent natif du CircularProgressIndicator() indéterminé de Flutter (sans value) : contrairement à CircularProgress, il ne porte aucun pourcentage — la commande Canvas::spinner() ne transporte aucun angle de rotation. C'est NativeCanvasView.kt qui calcule la rotation à partir de sa propre horloge, image par image, via un petit ValueAnimator qui tourne tant qu'une commande "spinner" est présente à l'écran — la seule animation du moteur qui continue sans qu'aucun nouveau rendu ne soit demandé.
Exemple
<?php
use Engine\Native\Spinner;
use Engine\Color;
$spinner = new Spinner(
diameter: 32.0,
color: Color::indigo(600),
);Un rond de 32px tourne indéfiniment côté client en indigo sur une piste grise par défaut, typiquement utilisé comme état $loading d'un Async.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| diameter | float | 32.0 | Diamètre du carré occupé par le spinner. |
| color | ?Color | null → Tokens::ink() | Couleur de l'arc animé. |
| trackColor | ?Color | null → Tokens::surfaceMuted() | Couleur de la piste statique en arrière-plan. |
À savoir. L'épaisseur du trait se déduit de
diameter / 12(minimum 2px) — il n'y a pas de paramètrestrokeWidthexposé, contrairement àCircularProgressqui utilise un ratio différent (/ 16).