Aller au contenu principal

Label

Texte sur une seule ligne avec auto-troncature et valeur dynamique optionnelle.

package ca.tawess123.apocalyinterface.api.widget;

Builder

Label label = Label.builder()
.text(String key) // clé i18n (requis)
.value(DataSource<String> source) // valeur dynamique optionnelle
.title() // couleur jaune
.accent() // couleur cyan
.muted() // couleur grise
.color(int argb) // couleur ARGB personnalisée
.centered() // centrage horizontal
.visibleIf(boolean visible) // visibilité conditionnelle
.build();

Options du builder

OptionTypeDéfautDescription
.text(String)StringClé i18n. Requis.
.value(DataSource<String>)DataSource<String>nullValeur affichée après le texte traduit. Si la clé contient %s, substituée ; sinon, concaténée.
.title()Applique ApocalyColors.TITLE (jaune).
.accent()Applique ApocalyColors.ACCENT (cyan).
.muted()Applique ApocalyColors.MUTED_TEXT (gris).
.color(int)int (ARGB)ApocalyColors.TEXTCouleur ARGB personnalisée. Remplace .title(), .accent(), .muted().
.centered()Centre le texte horizontalement dans la largeur disponible.
.visibleIf(boolean)booleantrueMasque le label si false (0 px).

Hauteur

9 px (ApocalyDimensions.LINE_HEIGHT).


Couleurs prédéfinies

MéthodeConstanteUsage typique
.title()ApocalyColors.TITLETitre de section, nom de clan
.accent()ApocalyColors.ACCENTValeur importante, monnaie
.muted()ApocalyColors.MUTED_TEXTTexte secondaire, aide contextuelle
(défaut)ApocalyColors.TEXTTexte standard

Exemple

import ca.tawess123.apocalyinterface.api.data.DataSource;
import ca.tawess123.apocalyinterface.api.widget.Label;
import ca.tawess123.apocalyinterface.api.theme.ApocalyColors;

// Titre de section
root.add(Label.builder()
.text("monmod.label.titre_section")
.title()
.build());

// Label avec valeur dynamique
root.add(Label.builder()
.text("monmod.label.clan") // "Clan : %s"
.value(DataSource.of(clanName))
.accent()
.build());

// Label centré en gris
root.add(Label.builder()
.text("monmod.label.aide")
.muted()
.centered()
.build());

// Label conditionnel
root.add(Label.builder()
.text("monmod.label.admin_only")
.color(ApocalyColors.DANGER)
.visibleIf(isAdmin)
.build());

Voir aussi