Row
Conteneur horizontal. Distribue la largeur disponible équitablement entre ses enfants.
package ca.tawess123.apocalyinterface.api.layout;
Fabriques statiques
Row.create() // gap par défaut : 4 px
Row.withGap(int gap) // gap personnalisé
Méthodes d'instance
| Méthode | Retour | Description |
|---|---|---|
.add(Widget widget) | Row | Ajoute un enfant à droite. Chaînable. |
.visible(boolean visible) | Row | Masque la Row entière (0 px). Chaînable. |
Hauteur et largeur calculées
largeur par enfant = (largeur disponible - (N-1) × gap) / N
hauteur de la Row = max(hauteurs des enfants)
La largeur est toujours divisée équitablement. En v1, il n'existe pas d'option de largeur relative.
Exemple
import ca.tawess123.apocalyinterface.api.layout.Row;
import ca.tawess123.apocalyinterface.api.data.DataSource;
import ca.tawess123.apocalyinterface.api.widget.Label;
// Deux labels côte à côte — chacun à 50% de la largeur du panneau
root.add(Row.create()
.add(Label.builder()
.text("monmod.label.membres")
.value(DataSource.of("8 / 15"))
.build())
.add(Label.builder()
.text("monmod.label.rang")
.value(DataSource.of("#2"))
.build()));
// Trois boutons en ligne
root.add(Row.create()
.add(Button.builder().text("monmod.btn.a").build())
.add(Button.builder().text("monmod.btn.b").build())
.add(Button.builder().text("monmod.btn.c").build()));
Cas d'usage typiques
| Cas | Exemple |
|---|---|
| Deux métriques côte à côte | Membres / Rang, PvP pts / PvE pts |
| Deux boutons en ligne | Confirmer / Annuler |
| Icône + label | ItemIcon + Label |
Voir aussi
- Guide : Système de layout
- Référence Column
- Référence Grid — grille à N colonnes quand le nombre d'items varie