Die Chip
-Komponente ist ein kompaktes, interaktives UI-Element. Es stellt komplexe Entitäten wie einen Kontakt oder ein Tag dar, oft mit einem Symbol und Label. Er kann aktiviert, geschlossen oder anklickbar sein.
Die vier Arten von Chips und wo sie verwendet werden können, sind:
- Assistent: Der Nutzer wird durch eine Aufgabe geführt. Wird häufig als temporäres UI-Element als Reaktion auf Nutzereingaben angezeigt.
- Filter: Damit können Nutzer die Inhalte anhand einer Reihe von Optionen eingrenzen. Sie können ausgewählt oder deaktiviert werden und können ein Häkchensymbol enthalten.
- Eingabe: Stellt vom Nutzer bereitgestellte Informationen wie eine Auswahl in einem Menü dar. Sie können ein Symbol, einen Text sowie ein „X“ enthalten, das entfernt werden kann.
- Vorschlag: Stellt dem Nutzer Empfehlungen auf der Grundlage seiner letzten Aktivität oder Eingabe bereit. Sie werden normalerweise unter einem Eingabefeld angezeigt, um Nutzer zu Aktionen aufzurufen.
API-Oberfläche
Es gibt vier zusammensetzbare Funktionen, die den vier Arten von Chips entsprechen. In den folgenden Abschnitten werden diese zusammensetzbaren Funktionen und ihre Unterschiede im Detail beschrieben. Sie haben jedoch die folgenden Parameter:
label
: Der String, der auf dem Chip angezeigt wird.icon
: Das Symbol, das am Anfang des Chips angezeigt wird. Einige der spezifischen zusammensetzbaren Funktionen haben separate ParameterleadingIcon
undtrailingIcon
.onClick
: Das Lambda, das der Chip aufruft, wenn der Nutzer darauf drückt.
Assistent-Chip
Mit der zusammensetzbaren Funktion AssistChip
lässt sich ganz einfach ein Assist-Chip erstellen, der den Nutzer in eine bestimmte Richtung bringt. Ein Unterscheidungsmerkmal ist der Parameter leadingIcon
, mit dem Sie auf der linken Seite des Chips ein Symbol anzeigen lassen können. Das folgende Beispiel zeigt, wie Sie es implementieren können:
@Composable fun AssistChipExample() { AssistChip( onClick = { Log.d("Assist chip", "hello world") }, label = { Text("Assist chip") }, leadingIcon = { Icon( Icons.Filled.Settings, contentDescription = "Localized description", Modifier.size(AssistChipDefaults.IconSize) ) } ) }
Diese Implementierung sieht so aus:
Infofeld für Filter
Bei der zusammensetzbaren Funktion FilterChip
müssen Sie prüfen, ob der Chip ausgewählt ist. Das folgende Beispiel zeigt, wie ein vorangestelltes Häkchen nur angezeigt werden kann, wenn der Nutzer den Chip ausgewählt hat:
@Composable fun FilterChipExample() { var selected by remember { mutableStateOf(false) } FilterChip( onClick = { selected = !selected }, label = { Text("Filter chip") }, selected = selected, leadingIcon = if (selected) { { Icon( imageVector = Icons.Filled.Done, contentDescription = "Done icon", modifier = Modifier.size(FilterChipDefaults.IconSize) ) } } else { null }, ) }
Wenn diese Option nicht ausgewählt ist, sieht diese Implementierung so aus:
Wenn diese Option ausgewählt ist, wird sie so angezeigt:
Eingabechip
Mit der zusammensetzbaren Funktion InputChip
können Sie Chips erstellen, die aus Nutzerinteraktionen resultieren. Wenn ein Nutzer in einem E-Mail-Client beispielsweise eine E-Mail schreibt, kann ein Eingabechip für eine Person stehen, deren Adresse der Nutzer in das Feld „An:“ eingegeben hat.
Die folgende Implementierung zeigt einen Eingabechip, der sich bereits im ausgewählten Zustand befindet. Der Nutzer schließt den Chip, wenn er ihn drückt.
@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( Icons.Filled.Person, contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, trailingIcon = { Icon( Icons.Default.Close, contentDescription = "Localized description", Modifier.size(InputChipDefaults.AvatarSize) ) }, ) }
Diese Implementierung sieht so aus:
Vorschlags-Chip
Die zusammensetzbare Funktion SuggestionChip
ist die grundlegendste der auf dieser Seite aufgeführten zusammensetzbaren Funktionen, sowohl in der API-Definition als auch in den gängigen Anwendungsfällen. Vorschlags-Chips enthalten dynamisch generierte Hinweise. In einer KI-Chatanwendung können Sie beispielsweise Vorschlags-Chips verwenden, um mögliche Antworten auf die neueste Nachricht darzustellen.
Betrachten Sie diese Implementierung von SuggestionChip
:
@Composable fun SuggestionChipExample() { SuggestionChip( onClick = { Log.d("Suggestion chip", "hello world") }, label = { Text("Suggestion chip") } ) }
Diese Implementierung sieht so aus:
Erhöhter Chip
In allen Beispielen in diesem Dokument werden die grundlegenden zusammensetzbaren Funktionen verwendet, die flach aussehen. Wenn Sie einen Chip mit erhöhter Darstellung wünschen, verwenden Sie eine der drei folgenden zusammensetzbaren Funktionen: