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