SizedBox
Mise en page
Engine\Native\SizedBox force une taille fixe (largeur, hauteur) quel que soit le contenu. Utilisé sans enfant, c'est un espaceur pur (par exemple entre deux éléments d'un Flex) ; utilisé avec un enfant, il l'enveloppe et lui impose une contrainte stricte à cette taille exacte via Constraints::tight(), quelle que soit la taille que l'enfant aurait naturellement choisie.
Exemple
php
<?php
use Engine\Native\SizedBox;
use Engine\Native\Flex;
use Engine\Native\Container;
use Engine\Native\Axis;
use Engine\Color;
$row = new Flex(Axis::HORIZONTAL, [
new Container(width: 40.0, height: 40.0, background: Color::blue(500)),
new SizedBox(16.0, 0.0),
new Container(width: 40.0, height: 40.0, background: Color::red(500)),
]);Un SizedBox sans enfant de 16px de large et 0 de haut sert d'espaceur horizontal fixe entre deux carrés dans une ligne.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| width | float | — | Largeur imposée. |
| height | float | — | Hauteur imposée. |
| child | ?Widget | null | Enfant optionnel, contraint strictement à (width, height). |
À savoir. La taille renvoyée au parent est toujours (width, height) contrainte par les bornes du parent (
constraints->constrain(...)) — unSizedBoxne s'adapte jamais à son enfant, seul l'enfant s'adapte à lui.