Aller au contenu principal

KeyValueRow

Ligne horizontale avec une clé (libellé à gauche) et une valeur (à droite). Utilisée pour afficher des paires de données — nom + valeur, statistique + chiffre.

package ca.tawess123.apocalyinterface.api.widget;

Builder

KeyValueRow row = KeyValueRow.builder()
.key(String keyI18n) // clé i18n du libellé gauche (requis)
.value(DataSource<String> source) // valeur droite (requis)
.keyColor(int color) // couleur du libellé (défaut : TEXT)
.valueColor(int color) // couleur de la valeur (défaut : ACCENT)
.visibleIf(boolean visible) // visibilité conditionnelle
.build();

Options du builder

OptionTypeDéfautDescription
.key(String)StringClé i18n du libellé gauche. Requis.
.value(DataSource<String>)DataSource<String>Valeur affichée à droite. Requis.
.keyColor(int)int (ARGB)ApocalyColors.TEXTCouleur du libellé.
.valueColor(int)int (ARGB)ApocalyColors.ACCENTCouleur de la valeur.
.visibleIf(boolean)booleantrueMasque la ligne si false (0 px).

Hauteur

9 px (ApocalyDimensions.LINE_HEIGHT).


Exemple

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

// Ligne standard (blanc / cyan)
card.add(KeyValueRow.builder()
.key("monmod.row.membres")
.value(DataSource.of(membres + " / 15"))
.build());

// Ligne avec valeur dynamique
card.add(KeyValueRow.builder()
.key("monmod.row.points")
.value(() -> points + " pts")
.build());

// Ligne colorée sémantiquement
card.add(KeyValueRow.builder()
.key("monmod.row.statut")
.value(DataSource.of(enLigne ? "En ligne" : "Hors ligne"))
.valueColor(enLigne ? ApocalyColors.SUCCESS : ApocalyColors.DANGER)
.build());

KeyValueRow vs Label

KeyValueRowLabel + value()
Clé à gauche, valeur à droiteOui (alignement automatique)Non (concaténé)
Couleurs séparées clé/valeurOuiNon
Usage typiqueStats, propriétés, métadonnéesTitre, phrase avec variable

Voir aussi