Mit der Komponente Switch
können Nutzer zwischen zwei Status wechseln: „Aktiviert“
und nicht ausgewählt. In Ihrer App können Sie einen Schalter verwenden, um Nutzern Folgendes zu ermöglichen:
- Aktivieren oder deaktivieren Sie eine Einstellung.
- Aktivieren oder deaktivieren Sie eine Funktion.
- Wählen Sie eine Option aus.
Die Komponente besteht aus zwei Teilen: dem Schieberegler und dem Track. Der Daumen ist ziehbar und der Track ist der Hintergrund. Der Nutzer kann den Schieberegler nach links oder rechts ziehen, um den Status des Schalters zu ändern. Sie können auch auf das um sie zu prüfen und zu löschen.

Einfache Implementierung
Eine vollständige API-Definition finden Sie in der Switch
-Referenz. Im Folgenden sind einige der wichtigsten Parameter aufgeführt, die Sie möglicherweise verwenden müssen:
checked
: Der anfängliche Status des Schalters.onCheckedChange
: Ein Rückruf, der aufgerufen wird, wenn sich der Status des Schalters ändert.enabled
: Gibt an, ob der Schalter aktiviert oder deaktiviert ist.colors
: Die für den Schalter verwendeten Farben.
Das folgende Beispiel zeigt eine minimale Implementierung der zusammensetzbaren Funktion Switch
.
@Composable fun SwitchMinimalExample() { var checked by remember { mutableStateOf(true) } Switch( checked = checked, onCheckedChange = { checked = it } ) }
Wenn kein Häkchen gesetzt ist, wird die Implementierung folgendermaßen angezeigt:

Wenn ein Häkchen gesetzt ist, sieht dies so aus:

Erweiterte Implementierung
Die wichtigsten Parameter, die Sie bei der Implementierung eines erweiterten Schalters verwenden können, sind:
thumbContent
: Hiermit können Sie das Aussehen des Daumens anpassen, wenn Sie dass die Option aktiviert ist.colors
: Hiermit kannst du die Farbe des Tracks und des Thumbnails anpassen.
Benutzerdefinierter Daumen
Sie können eine beliebige zusammensetzbare Funktion für den Parameter thumbContent
übergeben, um einen benutzerdefinierten
Daumen hoch. Im folgenden Beispiel wird ein Schalter mit einem benutzerdefinierten Symbol für den Schieberegler verwendet:
@Composable fun SwitchWithIconExample() { var checked by remember { mutableStateOf(true) } Switch( checked = checked, onCheckedChange = { checked = it }, thumbContent = if (checked) { { Icon( imageVector = Icons.Filled.Check, contentDescription = null, modifier = Modifier.size(SwitchDefaults.IconSize), ) } } else { null } ) }
In dieser Implementierung entspricht das Erscheinungsbild der Option, wenn sie deaktiviert ist, dem Beispiel im vorherigen Abschnitt. Wenn diese Option aktiviert ist, wird diese Implementierung jedoch wie folgt angezeigt: folgt:

Benutzerdefinierte Farben
Das folgende Beispiel zeigt, wie Sie mit dem Parameter „colors“ Farbe von Daumen und Track eines Schalters ändern und dabei berücksichtigen, ausgewählt ist.
@Composable fun SwitchWithCustomColors() { var checked by remember { mutableStateOf(true) } Switch( checked = checked, onCheckedChange = { checked = it }, colors = SwitchDefaults.colors( checkedThumbColor = MaterialTheme.colorScheme.primary, checkedTrackColor = MaterialTheme.colorScheme.primaryContainer, uncheckedThumbColor = MaterialTheme.colorScheme.secondary, uncheckedTrackColor = MaterialTheme.colorScheme.secondaryContainer, ) ) }
Diese Implementierung sieht so aus:
