Switch
bileşeni, kullanıcıların işaretli ve işaretsiz olmak üzere iki durum arasında geçiş yapmasına olanak tanır. Uygulamanızda, kullanıcının aşağıdakilerden birini yapmasına izin vermek için bir anahtar kullanabilirsiniz:
- Bir ayarı açın veya kapatın.
- Bir özelliği etkinleştirin veya devre dışı bırakın.
- Bir seçenek belirleyin.
Bileşenin iki bölümü vardır: küçük resim ve parça. Başparmak, anahtarın sürüklenebilir kısmıdır ve kanal arka plandır. Kullanıcı, anahtarın durumunu değiştirmek için başparmağı sola veya sağa sürükleyebilir. Ayrıca anahtara dokunarak da bu ayarı kontrol edip temizleyebilirler.
Temel uygulama
Tam API tanımı için Switch
referansına bakın. Kullanmanız gerekebilecek temel parametrelerden bazıları şunlardır:
checked
: Anahtarın ilk durumu.onCheckedChange
: Anahtarın durumu değiştiğinde çağrılan bir geri çağırma işlevi.enabled
: Anahtarın etkin veya devre dışı olup olmadığını belirtir.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 geçiş uygularken 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 küçük resim
Ö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: