Les composants libres : extra="true" et <extras>
Pourquoi un composant que vous ajoutez ne s’affiche pas — et les deux façons de le déclarer.
Deux familles de composants
Dans une vue, Recalbox distingue :
- les éléments qu’il construit lui-même — le carrousel, la liste de jeux, la barre d’aide, la jaquette du jeu… Ils ont un nom réservé, et le thème ne fait que les régler ;
- les composants que vous ajoutez — un texte, une image, un bloc de couleur, une vidéo. Ce sont les composants libres.
Un composant libre doit être déclaré comme tel
Un composant libre posé directement dans la vue n’est pas dessiné : la machine ne construit que les éléments marqués extra. Deux écritures possibles, et elles font exactement la même chose :
<image name="monLogo" extra="true">…</image>
<extras>
<image name="monLogo">…</image>
<text name="maMention">…</text>
</extras>
<extras> est un conteneur : chacun de ses enfants reçoit extra="true", d’un coup. C’est plus court et plus lisible dès qu’il y a plusieurs composants — c’est ce que le studio écrit.
Ce qu’il faut retenir
<extras>n’est pas un composant : il ne se dessine pas, il ne se positionne pas.- Il ne se met pas dans lui-même : un
<extras>dans un<extras>n’a aucun effet supplémentaire. - Il fonctionne dans la vue Systèmes, la Liste de jeux et l’Écran de veille. ⚠️ Pas dans le Menu : le moteur ne va y chercher aucun composant libre. Un
<extras>écrit pour la vue Menu est lu sans erreur… et ne dessine jamais rien. - Les éléments à nom réservé restent en dehors : ils existent déjà, on ne fait que les régler.
Dans le studio, vous n’avez rien à faire : les composants que vous ajoutez sont automatiquement écrits dans
<extras>, et les éléments réservés en dehors.