Aller au contenu principal

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éthodeRetourDescription
.add(Widget widget)RowAjoute un enfant à droite. Chaînable.
.visible(boolean visible)RowMasque 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

CasExemple
Deux métriques côte à côteMembres / Rang, PvP pts / PvE pts
Deux boutons en ligneConfirmer / Annuler
Icône + labelItemIcon + Label

Voir aussi