คอมโพเนนต์ Switch
อนุญาตให้ผู้ใช้สลับระหว่าง 2 สถานะ ได้แก่ เลือกแล้ว
และไม่ได้เลือกไว้ ในแอป คุณอาจใช้สวิตช์เพื่อให้ผู้ใช้ดำเนินการอย่างใดอย่างหนึ่ง
ดังต่อไปนี้:
- สลับการตั้งค่าเป็นเปิดหรือปิด
- เปิดหรือปิดใช้ฟีเจอร์
- เลือกตัวเลือก
คอมโพเนนต์นี้ประกอบด้วย 2 ส่วน ได้แก่ ตัวอย่างเพลงและแทร็ก สามารถใช้นิ้วหัวแม่มือที่ลากไปมาได้ ของสวิตช์ และแทร็กนั้นคือพื้นหลัง ผู้ใช้ลากนิ้วโป้งได้ ไปทางซ้ายหรือขวาเพื่อเปลี่ยนสถานะของสวิตช์ พวกเขายังสามารถแตะ เปลี่ยนเพื่อทำเครื่องหมายและล้าง

การติดตั้งใช้งานขั้นพื้นฐาน
ดูคำจำกัดความ API ฉบับเต็มได้ที่ข้อมูลอ้างอิง Switch
รายการต่อไปนี้คือ
พารามิเตอร์หลักบางส่วนที่คุณอาจต้องการใช้ ได้แก่
checked
: สถานะเริ่มต้นของสวิตช์onCheckedChange
: ฟังก์ชันการเรียกกลับที่เรียกใช้เมื่อสถานะของสวิตช์มีการเปลี่ยนแปลงenabled
: เปิดหรือปิดใช้สวิตช์colors
: สีที่ใช้สำหรับสวิตช์
ตัวอย่างต่อไปนี้เป็นการใช้งาน Switch
composable แบบขั้นต่ำ
@Composable fun SwitchMinimalExample() { var checked by remember { mutableStateOf(true) } Switch( checked = checked, onCheckedChange = { checked = it } ) }
การใช้งานนี้จะปรากฏดังนี้เมื่อไม่ได้เลือก

ลักษณะที่ปรากฏเมื่อเลือก

การติดตั้งใช้งานขั้นสูง
พารามิเตอร์หลักที่คุณอาจต้องการใช้เมื่อติดตั้งใช้งานสวิตช์ขั้นสูงขึ้นมีดังนี้
thumbContent
: ใช้เพื่อปรับแต่งลักษณะที่ปรากฏของภาพขนาดย่อเมื่อเลือกcolors
: ใช้ตัวเลือกนี้เพื่อปรับแต่งสีของแทร็กและนิ้วโป้ง
ภาพขนาดย่อที่กำหนดเอง
คุณสามารถส่งคอมโพสิเบิลใดก็ได้สำหรับพารามิเตอร์ thumbContent
เพื่อสร้างภาพปกที่กำหนดเอง ต่อไปนี้เป็นตัวอย่างของสวิตช์ที่ใช้ไอคอนที่กำหนดเองสำหรับ
นิ้วโป้ง:
@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 } ) }
ในการติดตั้งใช้งานนี้ ลักษณะที่ปรากฏที่ไม่ได้ทำเครื่องหมายจะเหมือนกับตัวอย่างใน หัวข้อก่อนหน้านี้ แต่เมื่อทำเครื่องหมาย การติดตั้งนี้จะปรากฏเป็น ดังต่อไปนี้:

สีที่กำหนดเอง
ตัวอย่างต่อไปนี้แสดงวิธีที่คุณสามารถใช้พารามิเตอร์สีเพื่อ เปลี่ยนสีนิ้วหัวแม่มือและแท่นหมุน โดยพิจารณาว่า เลือกสวิตช์แล้ว
@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, ) ) }
การติดตั้งใช้งานนี้จะปรากฏดังนี้
