Tuto Site
Pad y pad_int
pad = marge externe onion (tous views). pad_int = padding interne leaf (bouton, segment, image_deco). Encodeur : ViewDataCoordinate, défaut unité px. Live onion : viewConstraintMarge = Padding(left: padLeft, …).
┌──────── pad (externe, onion, % zone) ────────┐ │ ┌──── typed widget ───────────────────────┐ │ │ │ pad_int (interne, bouton, image…) │ │ │ │ title / icon / media │ │ │ └─────────────────────────────────────────┘ │ └──────────────────────────────────────────────┘
pad | pad_int | |
|---|---|---|
| Où | tous les views, dans l’onion | leaf qui s’en sert |
| % de | zone (_zoneWidth L/R, _zoneHeight T/B) | idem si fourni, sinon P.size.appW |
| Négatif | 0 | 0 |
| Null | 0 | null (leaf décide) |
not_apply_constraint: true (re-entrée id_text chrome) annule pad et rota.
Sur un enfant de column : pad.iT / pad.iB = espace visuel entre frères (pas de « gap » folder). Sur un folder : pad réduit la zone interne des enfants → leurs % rétrécissent.
Init / enable — comme border, ≠ pos ticker
Onion : padLeft(_zoneWidth, isEnable) avec isEnable = StyleThemeContentP.s.preEnable (session), pas le ticker page. Coordinate sans fallback e→i. Session inactive (cas public) → i*. Si un jour preEnable=true et e* vide → pad 0.
Bouton ButtonSite : paddingH = padIntLeft, paddingV = padIntTop seulement — pas les 4 côtés indépendants. Segment : 4 côtés, % de la largeur dynamique.
Recettes
Marge 24 px autour d’une section (desktop), 12 px mobile :
{
"pad": {
"l": { "iT": 24, "iB": 24, "iL": 24, "iR": 24, "iTT": "px", "iTB": "px", "iTL": "px", "iTR": "px" },
"s": { "iT": 12, "iB": 12, "iL": 12, "iR": 12, "iTT": "px", "iTB": "px", "iTL": "px", "iTR": "px" }
}
}
Bouton : pad externe 0, interne 12/24 :
{
"pad": {},
"pad_int": {
"l": { "iT": 12, "iB": 12, "iL": 24, "iR": 24, "iTT": "px", "iTB": "px", "iTL": "px", "iTR": "px" }
}
}
pad et pad_int « pour être sûr » (double). Copier un pos (ticker, −1 hide) sur pad (clamp 0, preEnable). Compenser un pad parent en gonflant le % enfant.