Assist
An AssistChip triggers an action related to nearby content.
AssistChip(
onClick = {},
label = { Text("Settings") },
leadingIcon = { Icon(Icons.Filled.Settings, null, Modifier.size(18.dp)) }
) Assist, filter, input, and suggestion chips
Chips help people enter information, make selections, filter content, or trigger actions. Material 3 ships four kinds: assist, filter, input, and suggestion.
An AssistChip triggers an action related to nearby content.
AssistChip(
onClick = {},
label = { Text("Settings") },
leadingIcon = { Icon(Icons.Filled.Settings, null, Modifier.size(18.dp)) }
) FilterChips reflect selection state and can be toggled independently.
val filters = listOf("Vegetarian", "Vegan", "Gluten-free", "Spicy")
val selected = remember { mutableStateMapOf<String, Boolean>() }
FlowRow {
filters.forEach { filter ->
val isOn = selected[filter] == true
FilterChip(
selected = isOn,
onClick = { selected[filter] = !isOn },
label = { Text(filter) },
leadingIcon = if (isOn) {
{ Icon(Icons.Filled.Check, null, Modifier.size(18.dp)) }
} else null
)
}
} An InputChip represents a discrete entry the user can dismiss.
var visible by remember { mutableStateOf(true) }
if (visible) {
InputChip(
selected = false,
onClick = {},
label = { Text("alice@example.com") },
trailingIcon = {
Icon(
Icons.Filled.Close,
"Remove",
Modifier.size(18.dp).selectable(false) { visible = false }
)
}
)
} SuggestionChips surface dynamically generated recommendations.
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
SuggestionChip(onClick = {}, label = { Text("Sounds good") })
SuggestionChip(onClick = {}, label = { Text("On my way") })
}