Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O componente Chip é um elemento de interface compacto e interativo. Ele representa entidades complexas, como um contato ou uma tag, geralmente com um ícone e um rótulo. Ela pode ser
marcável, dispensável ou clicável.
Confira os quatro tipos de chips e onde eles podem ser usados:
Assistir: orienta o usuário durante uma tarefa. Geralmente aparece como um elemento temporário da interface do usuário
em resposta à entrada do usuário.
Filtro: permite que os usuários refinem o conteúdo de um conjunto de opções. Eles podem ser selecionados ou desmarcados e podem incluir um ícone de marca de seleção quando selecionados.
Entrada: representa informações fornecidas pelo usuário, como seleções em um
menu. Eles podem conter um ícone e texto, além de fornecer um X para remoção.
Sugestão: oferece recomendações ao usuário com base na atividade ou entrada
recente dele. Normalmente aparecem abaixo de um campo de entrada para solicitar ações do usuário.
Figura 1. Os quatro componentes de chip.
Superfície da API
Há quatro elementos combináveis que correspondem aos quatro tipos de chips. As seções a seguir descrevem esses elementos combináveis e suas diferenças em detalhes.
No entanto, eles compartilham os seguintes parâmetros:
label: a string que aparece no ícone.
icon: o ícone exibido no início do ícone de opção. Alguns elementos combináveis específicos têm parâmetros leadingIcon e trailingIcon separados.
onClick: a lambda que o ícone de ação chama quando o usuário pressiona.
Ícone de assistência
O elemento combinável AssistChip oferece uma maneira simples de criar um
chip de assistência que direciona o usuário em uma direção específica. Um recurso
distintivo é o parâmetro leadingIcon, que permite mostrar um ícone no lado
esquerdo do ícone. O exemplo a seguir demonstra como implementar:
O elemento combinável FilterChip exige que você acompanhe se o ícone
está selecionado ou não. O exemplo a seguir demonstra como mostrar um ícone de
marcação à esquerda somente quando o usuário seleciona o ícone:
Esta implementação aparece assim quando não está selecionada:
Figura 3. Ícone de filtro desmarcado.
E aparece assim quando selecionado:
Figura 4. Ícone de filtro selecionado.
Ícone de entrada
Use o elemento combinável InputChip para criar chips que resultam da
interação do usuário. Por exemplo, em um cliente de e-mail, quando o usuário está escrevendo uma mensagem, um ícone de entrada pode representar um contato adicionado ao campo "Para:".
A implementação a seguir demonstra um ícone de entrada que já está em um
estado selecionado. O usuário dispensa o ícone ao pressioná-lo.
O elemento combinável SuggestionChip é o mais básico dos elementos listados
nesta página, tanto na definição da API quanto nos casos de uso comuns. Os chips de sugestão apresentam dicas geradas dinamicamente. Por exemplo, em um app de chat de IA, você pode usar chips de sugestão para apresentar possíveis respostas à mensagem mais recente.
Todos os exemplos neste documento usam os elementos combináveis básicos que têm uma aparência
simples. Se você quiser um ícone com aparência elevada, use um dos
três elementos combináveis a seguir:
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-08-23 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-23 UTC."],[],[],null,["The `Chip` component is a compact, interactive UI element. It represents complex\nentities like a contact or tag, often with an icon and label. It can be\ncheckable, dismissible, or clickable.\n\nThe four types of chips and where you might use them are as follows:\n\n- **Assist**: Guides the user during a task. Often appears as a temporary UI element in response to user input.\n- **Filter**: Allows users to refine content from a set of options. They can be selected or deselected, and may include a checkmark icon when selected.\n- **Input** : Represents user-provided information, such as selections in a menu. They can contain an icon and text, and provide an **X** for removal.\n- **Suggestion**: Provides recommendations to the user based on their recent activity or input. Typically appear beneath an input field to prompt user actions.\n\n**Figure 1.** The four chip components.\n\nAPI surface\n\nThere are four composables that correspond to the four types of chips. The\nfollowing sections outline these composables and their differences in detail.\nHowever, they share the following parameters:\n\n- **`label`**: The string that appears on the chip.\n- **`icon`** : The icon displayed at the start of the chip. Some of the specific composables have a separate `leadingIcon` and `trailingIcon` parameter.\n- **`onClick`**: The lambda that the chip calls when the user presses it.\n\nAssist chip\n\nThe [`AssistChip`](/reference/kotlin/androidx/compose/material3/package-summary#AssistChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable provides a straightforward way to create an\nassist chip that nudges the user in a particular direction. One distinguishing\nfeature is its `leadingIcon` parameter that lets you display an icon on the left\nside of the chip. The following example demonstrates how you can implement it:\n\n\n```kotlin\n@Composable\nfun AssistChipExample() {\n AssistChip(\n onClick = { Log.d(\"Assist chip\", \"hello world\") },\n label = { Text(\"Assist chip\") },\n leadingIcon = {\n Icon(\n Icons.Filled.Settings,\n contentDescription = \"Localized description\",\n Modifier.size(AssistChipDefaults.IconSize)\n )\n }\n )\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L72-L85\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows.\n**Figure 2.** Assist chip.\n\nFilter chip\n\nThe [`FilterChip`](/reference/kotlin/androidx/compose/material3/package-summary#FilterChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable requires you to track whether or not the chip\nis selected. The following example demonstrates how you can show a leading\nchecked icon only when the user has selected the chip:\n\n\n```kotlin\n@Composable\nfun FilterChipExample() {\n var selected by remember { mutableStateOf(false) }\n\n FilterChip(\n onClick = { selected = !selected },\n label = {\n Text(\"Filter chip\")\n },\n selected = selected,\n leadingIcon = if (selected) {\n {\n Icon(\n imageVector = Icons.Filled.Done,\n contentDescription = \"Done icon\",\n modifier = Modifier.size(FilterChipDefaults.IconSize)\n )\n }\n } else {\n null\n },\n )\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L90-L112\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows when unselected:\n**Figure 3.** Unselected filter chip.\n\nAnd appears as follows when selected:\n**Figure 4.** Selected filter chip.\n\nInput chip\n\nYou can use the [`InputChip`](/reference/kotlin/androidx/compose/material3/package-summary#InputChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable to create chips that result from\nuser interaction. For example, in an email client, when the user is writing an\nemail, an input chip might represent a contact the user has added to the \"To:\"\nfield.\n\nThe following implementation demonstrates an input chip that is already in a\nselected state. The user dismisses the chip when they press it.\n| **Note:** Consider how you might use a chip like this in the preceding email use case, with a name passed in for the `label` parameter, and a function that performs the necessary network calls for `onDismiss`.\n\n\n```kotlin\n@Composable\nfun InputChipExample(\n text: String,\n onDismiss: () -\u003e Unit,\n) {\n var enabled by remember { mutableStateOf(true) }\n if (!enabled) return\n\n InputChip(\n onClick = {\n onDismiss()\n enabled = !enabled\n },\n label = { Text(text) },\n selected = enabled,\n avatar = {\n Icon(\n Icons.Filled.Person,\n contentDescription = \"Localized description\",\n Modifier.size(InputChipDefaults.AvatarSize)\n )\n },\n trailingIcon = {\n Icon(\n Icons.Default.Close,\n contentDescription = \"Localized description\",\n Modifier.size(InputChipDefaults.AvatarSize)\n )\n },\n )\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L118-L148\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows.\n**Figure 5.** Input chip.\n\nSuggestion chip\n\nThe [`SuggestionChip`](/reference/kotlin/androidx/compose/material3/package-summary#SuggestionChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable is the most basic of the composables listed\non this page, both in its API definition and its common use cases. Suggestion\nchips present dynamically generated hints. For example, in an AI chat app, you\nmight use suggestion chips to present possible responses to the most recent\nmessage.\n\nConsider this implementation of `SuggestionChip`:\n\n\n```kotlin\n@Composable\nfun SuggestionChipExample() {\n SuggestionChip(\n onClick = { Log.d(\"Suggestion chip\", \"hello world\") },\n label = { Text(\"Suggestion chip\") }\n )\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L153-L159\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows:\n**Figure 6.** Suggestion chip. **Note:** Although the suggestion chip component is intended for informational purposes, it does still take an `onClick` lambda that you can use to create interactivity.\n\nElevated chip\n\nAll the examples in this document use the base composables that take a flat\nappearance. If you want a chip that has an elevated appearance, use one of the\nthree following composables:\n\n- [`ElevatedAssistChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedAssistChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n- [`ElevatedFilterChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedFilterChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n- [`ElevatedSuggestionChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedSuggestionChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n\nAdditional resources\n\n- [Material UI docs](https://m3.material.io/components/chips/overview)"]]