ปุ่มการทำงานแบบลอย (FAB) เป็นปุ่มที่มีความสำคัญสูงซึ่งช่วยให้ผู้ใช้ ดำเนินการหลักในแอปพลิเคชันได้ ปุ่มนี้จะกระตุ้นให้ผู้ใช้ดำเนินการที่มุ่งเน้นเพียงอย่างเดียว ซึ่งเป็นเส้นทางที่ผู้ใช้มักจะใช้ และมักจะอยู่ ที่ด้านล่างขวาของหน้าจอ
พิจารณากรณีการใช้งาน 3 กรณีต่อไปนี้ที่คุณอาจใช้ FAB
- สร้างรายการใหม่: ในแอปจดบันทึก อาจใช้ FAB เพื่อสร้างโน้ตใหม่ได้อย่างรวดเร็ว
- เพิ่มรายชื่อติดต่อใหม่: ในแอปแชท FAB อาจเปิดอินเทอร์เฟซที่ให้ผู้ใช้เพิ่มบุคคลลงในการสนทนา
- ตำแหน่งกึ่งกลาง: ในอินเทอร์เฟซแผนที่ FAB สามารถตั้งค่าให้แผนที่อยู่กึ่งกลางตำแหน่งปัจจุบันของผู้ใช้ได้
ในดีไซน์ Material FAB มี 4 ประเภท ได้แก่
- FAB: ปุ่มการทำงานแบบลอยที่มีขนาดปกติ
- FAB ขนาดเล็ก: ปุ่มการทำงานแบบลอยขนาดเล็ก
- FAB ขนาดใหญ่: ปุ่มการทำงานแบบลอยขนาดใหญ่
- FAB แบบขยาย: ปุ่มการทำงานแบบลอยที่มีมากกว่าแค่ไอคอน
พื้นผิว API
แม้ว่าจะมี Composable หลายรายการที่คุณใช้สร้างปุ่มการดำเนินการแบบลอยให้สอดคล้องกับการออกแบบ Material ได้ แต่พารามิเตอร์ของปุ่มเหล่านี้ก็ไม่ได้แตกต่างกันมากนัก พารามิเตอร์สำคัญที่คุณควรทราบมีดังนี้
onClick
: ฟังก์ชันที่เรียกใช้เมื่อผู้ใช้กดปุ่มcontainerColor
: สีของปุ่มcontentColor
: สีของไอคอน
ปุ่มการทำงานแบบลอย
หากต้องการสร้างปุ่มลอยทั่วไป ให้ใช้ Composable FloatingActionButton
พื้นฐาน ตัวอย่างต่อไปนี้แสดงการใช้งาน FAB ขั้นพื้นฐาน
@Composable fun Example(onClick: () -> Unit) { FloatingActionButton( onClick = { onClick() }, ) { Icon(Icons.Filled.Add, "Floating action button.") } }
การติดตั้งใช้งานนี้จะปรากฏดังนี้

ปุ่มขนาดเล็ก
หากต้องการสร้างปุ่มลอยขนาดเล็ก ให้ใช้ Composable
SmallFloatingActionButton
ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการดังกล่าวพร้อมกับการเพิ่มสีที่กำหนดเอง
@Composable fun SmallExample(onClick: () -> Unit) { SmallFloatingActionButton( onClick = { onClick() }, containerColor = MaterialTheme.colorScheme.secondaryContainer, contentColor = MaterialTheme.colorScheme.secondary ) { Icon(Icons.Filled.Add, "Small floating action button.") } }
การติดตั้งใช้งานนี้จะปรากฏดังนี้

ปุ่มขนาดใหญ่
หากต้องการสร้างปุ่มลอยขนาดใหญ่ ให้ใช้ Composable
LargeFloatingActionButton
Composable นี้ไม่ได้แตกต่างจากตัวอย่างอื่นๆ มากนัก นอกเหนือจากข้อเท็จจริงที่ว่า
ทำให้ได้ปุ่มที่ใหญ่ขึ้น
ต่อไปนี้เป็นการติดตั้งใช้งาน FAB ขนาดใหญ่แบบตรงไปตรงมา
@Composable fun LargeExample(onClick: () -> Unit) { LargeFloatingActionButton( onClick = { onClick() }, shape = CircleShape, ) { Icon(Icons.Filled.Add, "Large floating action button") } }
การติดตั้งใช้งานนี้จะปรากฏดังนี้

ปุ่มแบบขยาย
คุณสร้างปุ่มลอยที่มีความซับซ้อนมากขึ้นได้ด้วย Composable
ExtendedFloatingActionButton
ความแตกต่างที่สำคัญระหว่างพารามิเตอร์นี้กับ FloatingActionButton
คือพารามิเตอร์นี้มีพารามิเตอร์ icon
และ text
เฉพาะ ซึ่งช่วยให้คุณสร้างปุ่มที่มีเนื้อหาซับซ้อนมากขึ้นซึ่งปรับขนาด
ให้พอดีกับเนื้อหาได้อย่างเหมาะสม
ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้ ExtendedFloatingActionButton
โดยมีค่าตัวอย่างที่ส่งสำหรับ icon
และ text
@Composable fun ExtendedExample(onClick: () -> Unit) { ExtendedFloatingActionButton( onClick = { onClick() }, icon = { Icon(Icons.Filled.Edit, "Extended floating action button.") }, text = { Text(text = "Extended FAB") }, ) }
การติดตั้งใช้งานนี้จะปรากฏดังนี้
