Relay reconnaît les propriétés des composants Figma définies sur les composants empaquetés. D'un point de vue conceptuel, les propriétés des composants Figma sont semblables aux paramètres Relay, bien qu'il existe quelques différences.
![Diagramme – Calques vectoriels en VectorDrawable, puis en image](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/figma_component_properties.png?authuser=9&hl=fr)
En général, les propriétés du composant Figma ne nécessitent pas la configuration ni l'utilisation du plug-in Relay. Il est donc préférable de les utiliser dans les paramètres Relay en cas de chevauchement. Notez toutefois que les paramètres Relay permettent d'insérer un commentaire descriptif dans le code généré, contrairement aux propriétés des composants Figma.
Vous trouverez ci-dessous plus d'informations sur les différents types de propriétés de composants et sur la façon dont Relay les interprète.
Propriétés booléennes
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/boolean_properties.png?authuser=9&hl=fr)
Les propriétés booléennes contrôlent si les éléments sont affichés dans une conception particulière. Elles permettent de réduire considérablement le nombre de variantes qu'un composant doit définir. Par exemple, un bouton avec une icône facultative n'a pas besoin de variantes distinctes pour l'état affiché et l'état avec l'icône masquée.
Relay respecte les paramètres booléens des composants empaquetés et génère la signature de la fonction @Composable appropriée.
Propriétés du texte
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/text_properties.png?authuser=9&hl=fr)
Les propriétés de texte sont presque identiques aux paramètres de contenu textuel de Relay. La seule différence réside dans la prise en charge des commentaires de documentation. Si les paramètres Relay et les propriétés de texte sont déclarés sur la même couche, Relay utilise la définition des paramètres pour autoriser les commentaires. Dans ce cas, il convient toutefois d'éviter toute confusion en utilisant des noms cohérents.
Si des commentaires ne sont pas nécessaires pour un paramètre particulier, nous vous recommandons d'utiliser une propriété de texte Figma par souci de simplicité.
Propriétés d'échange d'instances
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/instance_swap_properties.png?authuser=9&hl=fr)
Les propriétés d'échange d'instances permettent aux clients d'un composant d'échanger des instances à l'intérieur d'un élément enfant. D'un point de vue conceptuel, ces paramètres sont semblables aux paramètres enfants de Relay, à quelques différences près:
Applicabilité: les propriétés de permutation d'instances ne peuvent être appliquées qu'aux couches d'instance. En revanche, les paramètres enfants de Relay peuvent être appliqués aux instances, aux frames ou aux groupes. Par conséquent, l'utilisation des propriétés d'échange d'instances nécessite que le contenu échangé soit lui-même un composant, tandis que Relay autorise le contenu à constituer n'importe quelle sous-hiérarchie de couches.
Portée: la valeur des propriétés de permutation d'instances ne peut être définie qu'au niveau du composant supérieur dans une hiérarchie de composants. Les paramètres enfants de Relay, en revanche, sont définis à n'importe quel niveau de la hiérarchie où ils ne sont pas exposés au niveau parent.
Relay reconnaît les propriétés d'échange d'instances déclarées sur les composants empaquetés et les traite autant que possible de la même manière que les paramètres enfants (par exemple, en émettant la même signature de fonction dans le code généré). Si un paramètre enfant Relay est déclaré sur une couche d'instance, sa définition prévaut sur la propriété d'échange d'instance (le cas échéant) déclarée sur cette couche.
Comme pour les propriétés de texte, l'utilisation à la fois d'une propriété de composant Figma et d'un paramètre Relay sur le même calque peut prêter à confusion si les noms sont incohérents. Toutefois, étant donné que les paramètres enfants présentent des différences significatives en termes de capacité d'échange d'instances, nous n'avons pas de recommandation globale concernant l'utilisation et les emplacements. Les deux sont des possibilités. L'utilisation prévue du composant va orienter cette décision.
Propriétés des variantes
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/variant_properties.png?authuser=9&hl=fr)
Les propriétés de variante sont créées implicitement lorsque les composants comportent plusieurs variantes. Relay prend en charge les propriétés de variantes en les traduisant en valeurs d'énumération dans le code généré.
Les concepteurs peuvent également déclarer des paramètres Relay qui exposent les propriétés des variantes pour les couches d'instance d'un composant empaqueté.