Le composant Chip est un élément d'interface utilisateur compact et interactif. Il représente des entités complexes telles qu'un contact ou un tag, souvent avec une icône et un libellé. Il peut être cochable, cliquable ou fermé.
Voici les quatre types de chips et les cas d'utilisation possibles :
- Assistance : guide l'utilisateur pendant une tâche. Il apparaît souvent sous la forme d'un élément d'interface utilisateur temporaire en réponse à une entrée utilisateur.
- Filtre : permet aux utilisateurs d'affiner le contenu à partir d'un ensemble d'options. Ils peuvent être sélectionnés ou désélectionnés, et peuvent inclure une icône de coche lorsqu'ils sont sélectionnés.
- Entrée : représente les informations fournies par l'utilisateur, telles que les sélections dans un menu. Ils peuvent contenir une icône et du texte, et inclure un X pour la suppression.
- Suggestion : fournit des recommandations à l'utilisateur en fonction de son activité ou de ses entrées récentes. Ils s'affichent généralement sous un champ de saisie pour inviter l'utilisateur à effectuer une action.
Surface d'API
Il existe quatre composables correspondant aux quatre types de chips. Les sections suivantes décrivent ces composables et leurs différences en détail. Cependant, ils partagent les paramètres suivants :
label: chaîne qui s'affiche sur le chip.icon: icône affichée au début du chip. Certains composables spécifiques ont des paramètresleadingIconettrailingIcondistincts.onClick: lambda que le chip appelle lorsque l'utilisateur appuie dessus.
Chip d'assistance
Le composable AssistChip permet de créer facilement un chip d'assistance qui oriente l'utilisateur dans une direction particulière. Une caractéristique distinctive est son paramètre leadingIcon, qui vous permet d'afficher une icône sur le côté gauche du chip. L'exemple suivant montre comment l'implémenter :
@Composable fun AssistChipExample() { AssistChip( onClick = { Log.d("Assist chip", "hello world") }, label = { Text("Assist chip") }, leadingIcon = { Icon( painter = rememberVectorPainter(AppIcons.Settings), contentDescription = "Localized description", Modifier.size(AssistChipDefaults.IconSize) ) } ) }
Cette implémentation est la suivante :
Élément de filtre
Le composable FilterChip nécessite que vous suiviez si le chip est sélectionné ou non. L'exemple suivant montre comment afficher une icône de coche de début uniquement lorsque l'utilisateur a sélectionné le chip :
@Composable fun FilterChipExample() { var selected by remember { mutableStateOf(false) } FilterChip( onClick = { selected = !selected }, label = { Text("Filter chip") }, selected = selected, leadingIcon = if (selected) { { Icon( painter = rememberVectorPainter(AppIcons.Done), contentDescription = "Done icon", modifier = Modifier.size(FilterChipDefaults.IconSize) ) } } else { null }, ) }
Cette implémentation se présente comme suit lorsqu'elle n'est pas sélectionnée :
Il s'affiche comme suit lorsqu'il est sélectionné :
Chip de saisie
Vous pouvez utiliser le composable InputChip pour créer des chips résultant d'une interaction utilisateur. Par exemple, dans un client de messagerie, lorsqu'un utilisateur rédige un e-mail, un chip de saisie peut représenter un contact qu'il a ajouté au champ "À".
L'implémentation suivante illustre un chip d'entrée qui est déjà dans un état sélectionné. L'utilisateur ferme le chip lorsqu'il appuie dessus.
@Composable fun InputChipExample( text: String, onDismiss: () -> Unit, ) { var enabled by remember { mutableStateOf(true) } if (!enabled) return InputChip( onClick = { onDismiss() enabled = !enabled }, label = { Text(text) }, selected = enabled, avatar = { Icon( painter = rememberVectorPainter(AppIcons.Person), contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, trailingIcon = { Icon( painter = rememberVectorPainter(AppIcons.Close), contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, ) }
Cette implémentation est la suivante :
Chip de suggestion
Le composable SuggestionChip est le plus basique des composables listés sur cette page, tant dans sa définition d'API que dans ses cas d'utilisation courants. Les chips de suggestion présentent des indices générés de manière dynamique. Par exemple, dans une application de chat IA, vous pouvez utiliser des chips de suggestion pour présenter des réponses possibles au message le plus récent.
Examinez cette implémentation de SuggestionChip :
@Composable fun SuggestionChipExample() { SuggestionChip( onClick = { Log.d("Suggestion chip", "hello world") }, label = { Text("Suggestion chip") } ) }
Cette implémentation est la suivante :
Chip surélevé
Tous les exemples de ce document utilisent les composables de base qui ont une apparence plate. Si vous souhaitez un chip avec une apparence surélevée, utilisez l'un des trois composables suivants :