Skip to content

Positioned ​

Mise en page

Engine\Native\Positioned n'a de sens que comme enfant direct d'un Stack : c'est le stack parent qui appelle sa méthode paintIn() une fois sa propre taille (largeur/hauteur) connue, en décalant l'enfant depuis les bords précisés (top/right/bottom/left). Les bords non fournis retombent à 0, exactement comme l'équivalent HTML Engine\Positioned. En dehors d'un stack, layout()/paint() se contentent de déléguer à l'enfant sans offset.

Exemple ​

php
<?php

use Engine\Native\Stack;
use Engine\Native\Positioned;
use Engine\Native\Container;
use Engine\Color;

$stack = new Stack([
    new Container(width: 160.0, height: 100.0, background: Color::gray(100)),
    new Positioned(
        new Container(width: 20.0, height: 20.0, background: Color::green(500)),
        bottom: 8.0,
        left: 8.0,
    ),
]);

Un petit indicateur vert est ancré à 8px du bord bas-gauche du rectangle de fond, à l'intérieur du Stack.

Constructeur ​

ParamètreTypeDéfautDescription
childWidget—Enfant positionné.
top?floatnullDistance depuis le bord haut du stack.
right?floatnullDistance depuis le bord droit du stack.
bottom?floatnullDistance depuis le bord bas du stack.
left?floatnullDistance depuis le bord gauche du stack.

À savoir. Si ni top ni bottom ne sont fournis (idem pour left/right), l'axe correspondant retombe à 0 — l'enfant colle donc au bord haut et/ou gauche par défaut, jamais centré automatiquement.

Voir aussi ​

PhpNitro est un produit FINANFA TECH — Publié sous licence MIT.