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
| Option | Type | Défaut | Description |
|---|---|---|---|
.key(String) | String | — | Clé i18n du libellé gauche. Requis. |
.value(DataSource<String>) | DataSource<String> | — | Valeur affichée à droite. Requis. |
.keyColor(int) | int (ARGB) | ApocalyColors.TEXT | Couleur du libellé. |
.valueColor(int) | int (ARGB) | ApocalyColors.ACCENT | Couleur de la valeur. |
.visibleIf(boolean) | boolean | true | Masque 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
KeyValueRow | Label + value() | |
|---|---|---|
| Clé à gauche, valeur à droite | Oui (alignement automatique) | Non (concaténé) |
| Couleurs séparées clé/valeur | Oui | Non |
| Usage typique | Stats, propriétés, métadonnées | Titre, phrase avec variable |