Switch
bileşeni, kullanıcıların iki durum arasında geçiş yapmasına olanak tanır: işaretli
ve işareti kaldırıldı. Uygulamanızda, kullanıcının aşağıdakilerden birini yapmasına izin vermek için anahtar kullanabilirsiniz
takip etmek için:
- Bir ayarı açın veya kapatın.
- Bir özelliği etkinleştirin veya devre dışı bırakın.
- Bir seçenek belirleyin.
Bileşen iki parçadan oluşur: baş parmak ve kanal. Başparmak, anahtarın sürüklenebilir kısmıdır ve parça arka plandır. Kullanıcı baş parmağını sürükleyebilir dokunun. Ayrıca kontrol edip temizlemek için anahtarı kullanın.

Temel uygulama
Tam API tanımı için Switch
referansına bakın. Bu alanlar:
kullanmanız gerekebilecek temel parametrelerden bazıları şunlardır:
checked
: Anahtarın başlangıç durumu.onCheckedChange
: anahtar değişiklikleri.enabled
: Anahtarın etkin veya devre dışı olup olmadığı.colors
: Anahtar için kullanılan renkler.
Aşağıdaki örnek, Switch
bileşeninin minimum düzeyde uygulanmış halidir.
@Composable fun SwitchMinimalExample() { var checked by remember { mutableStateOf(true) } Switch( checked = checked, onCheckedChange = { checked = it } ) }
Bu uygulama, onay kutusunun işareti kaldırıldığında aşağıdaki gibi görünür:

İşaretlendiğinde görünüm şu şekildedir:

Gelişmiş uygulama
Daha gelişmiş bir dönüşüm izleme sürecinde kullanmak isteyebileceğiniz birincil parametreler şunlardır:
thumbContent
: İşaretliyken küçük resmin görünümünü özelleştirmek için kullanın.colors
: Parçanın ve küçük resmin rengini özelleştirmek için kullanın.
Özel baş parmak
Özel bir küçük resim oluşturmak için thumbContent
parametresi için herhangi bir derlenebilir öğe iletebilirsiniz. Aşağıda, küçük resmi için özel simge kullanan bir anahtar örneği verilmiştir:
@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 } ) }
Bu uygulamada, işaretli olmayan görünüm önceki bölümdeki örnekle aynıdır. Ancak bu uygulama, kontrol edildiğinde aşağıdaki gibi görünür:

Özel renkler
Aşağıdaki örnekte, anahtarın işaretli olup olmadığını dikkate alarak anahtarın düğmesinin ve kaydırma çubuğunun rengini değiştirmek için colors parametresini nasıl kullanabileceğiniz gösterilmektedir.
@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, ) ) }
Bu uygulama aşağıdaki gibi görünür:
