AYLICRÉA El tuto
AYLICRÉA

Tuto Site

Alineación

Un même entier JSON, trois tables. Les 4 champs sont sur le folder (ou le id_text / segment). Encodeur ViewDataInt {"l":{"i":N}}, lu en auto(false) (état init). Live : pageFolder + wrap_text.dart + segment.dart.

Défauts si {} / null : axis_size → 0 (min) · axis_align → 2 (center) · cross_align → 2 (center) · direction_align → 5 (center).

3

Tables

Row/Column MainAxis · WrapAlignment · wrap_text TextAlign.

axis_align 3 n’est pas universel

2

Défaut center

Une column sans JSON d’align est centrée, pas start.

poser i: 0 pour un article

5≠4

Centers

Stack direction_align 5 = center. Gradient align_start 4 = center.

ne pas mélanger

Quel getter selon le type

typeAutoWidgetaxis_aligndirection_align
id_page_row / columnRow / ColumngetAxisAlign → MainAxisAlignmentignoré
id_page_wrap / animated / menuWrapgetAxisAlignWrapignoré
id_page_stackStack(alignment:)ignorégetDirectionAlign
id_wrap_textText.rich(textAlign:)getAxisAlignWrapText (table texte)ignoré
id_text SegmentWrap interne image+titregetAxisAlignWrapignoré

Table 1 — Row / Column getAxisAlign

Axe principal : Row = horizontal, Column = vertical. Défaut 2 center.

iÉditeurFlutterProd RowProd Column
0startstartgauchehaut
1endenddroitebas
2centercentermilieu Hmilieu V
3spaceBetweenspaceBetweenpremier/dernier aux bordsidem V
4spaceAroundspaceArounddemi-espace bordsidem
5spaceEvenlyspaceEvenlyespaces égauxidem

axis_size 0 min · 1 max. Sans max, spaceBetween n’a pas d’espace à répartir.

"axis_size": { "l": { "i": 1 } },
"axis_align": { "l": { "i": 3 } }

Table 2 — Wrap getAxisAlignWrap

Même 0–5 → WrapAlignment.* (start, end, center, spaceBetween, spaceAround, spaceEvenly). Axe = lignes du wrap (horizontal). id_text Segment : le Wrap interne aligne image + bloc titre, pas le textAlign du paragraphe.

cross_align Wrap : 0 start · 1 end · 2 center · 3 et 4 retombent center (pas de stretch/baseline Wrap).

Table 3 — wrap_text getAxisAlignWrapText

Text.rich(textAlign:) dans wrap_text.dart. Aligne la phrase entière dans la largeur du folder.

iRow / Wrapwrap_text TextAlignProd phrase
0startstartdébut de ligne (LTR = gauche)
1endendfin de ligne
2centercentercentré (défaut)
3spaceBetweenleftgauche physique (ignore RTL)
4spaceAroundrightdroite physique
5spaceEvenlyjustifyjustifié (espaces étirés)
Piège. axis_align: 3 sur wrap_text n’est pas spaceBetween — c’est TextAlign.left. style_title.align des spans n’aligne pas le Text.rich.

Centrer Du terrain à la facture : sur le folder id_wrap_text :

{
  "type": "94ba3c60-6c02-4ecb-8e3d-77a8f7516e91",
  "axis_align": { "l": { "i": 2 } }
}

cross_align Row / Column — défaut 2 center

iÉditeurProd RowProd Column
0starthautgauche
1endbasdroite
2centermilieu Vmilieu H
3stretchenfants étirés en hauteurétirés en largeur
4baselinebaselines texte (Row)rarement utile

direction_align — Stack only — défaut 5 center

Place les enfants sans pos. Un enfant avec pos ignore cet alignment.

iÉditeurAlignmentDirectionalProd (LTR)
0topStarttopStarthaut-gauche
1topEndtopEndhaut-droite
2topCentertopCenterhaut-centre
3centerStartcenterStartmilieu-gauche
4centerEndcenterEndmilieu-droite
5centercentercentre
6bottomStartbottomStartbas-gauche
7bottomEndbottomEndbas-droite
8bottomCenterbottomCenterbas-centre
≠ table gradient align_start (là 4 = center). ≠ wrap_text (axis_align). Stack défaut 5, pas 2, pas 4.

StyleTextContent.align (autre encodeur)

iÉditeur styleTextAlign
0gaucheleft
1droiteright
2centrecenter
3étiréejustify
4débutstart
5finend

Consommateurs : id_text_animated, titres agenda. Pas id_wrap_text. Pas Row/Column. Glyphes d’un id_text : style_title.align, pas axis_align du text (ça wrap image+titre).

Recettes

Column titres à gauche, pleine largeur :

{
  "type": "aee08b10-4e50-11ee-be56-0242ac120002",
  "axis_size": { "l": { "i": 0 } },
  "axis_align": { "l": { "i": 0 } },
  "cross_align": { "l": { "i": 0 } }
}

Wrap cards centrées :

"axis_align": { "l": { "i": 2 } },
"cross_align": { "l": { "i": 2 } }

Phrase wrap_text justifiée : "axis_align": { "l": { "i": 5 } }. Desktop center / mobile start :

"axis_align": { "l": { "i": 2 }, "s": { "i": 0 } }