ปุ่มเป็นคอมโพเนนต์พื้นฐานที่ช่วยให้ผู้ใช้เรียกใช้การทำงานที่กำหนดไว้ได้ โดยมีปุ่ม 5 ประเภท ตารางนี้อธิบายลักษณะที่ปรากฏของปุ่มทั้ง 5 ประเภท รวมถึงตำแหน่งที่คุณควรใช้ปุ่มแต่ละประเภท
| ประเภท | ลักษณะที่ปรากฏ | วัตถุประสงค์ |
|---|---|---|
| เติมพื้น | พื้นหลังสีพื้นพร้อมข้อความสีตัดกัน | ปุ่มเน้นสูง ใช้สำหรับการทำงานหลักในแอปพลิเคชัน เช่น "ส่ง" และ "บันทึก" เอฟเฟกต์เงาจะไฮไลต์ความสำคัญของปุ่ม |
| โทนสีแบบเติม | สีพื้นหลังจะแตกต่างกันไปเพื่อให้เข้ากับพื้นผิว | ใช้สำหรับการทำงานหลักหรือการทำงานที่สำคัญด้วย ปุ่มแบบเติมสีโทนมีน้ำหนักด้านภาพมากกว่าและเหมาะกับฟังก์ชันต่างๆ เช่น "เพิ่มลงในรถเข็น" และ "ลงชื่อเข้าใช้" |
| แบบยกขึ้น | โดดเด่นด้วยเงา | มีวัตถุประสงค์คล้ายกับปุ่มสีโทน เพิ่มระดับความสูงเพื่อทำให้ ปุ่มปรากฏเด่นชัดยิ่งขึ้น |
| แบบเติมขอบ | มีเส้นขอบแต่ไม่มีสีเติม | ปุ่มเน้นปานกลาง ซึ่งมีการทำงานที่สำคัญแต่ไม่ใช่การทำงานหลัก ปุ่มเหล่านี้ทำงานร่วมกับปุ่มอื่นๆ ได้ดีเพื่อระบุการทำงานสำรองอย่างอื่น เช่น "ยกเลิก" หรือ "กลับ" |
| ข้อความ | แสดงข้อความโดยไม่มีพื้นหลังหรือเส้นขอบ | ปุ่มเน้นต่ำ เหมาะสำหรับการทำงานที่ไม่สำคัญมากนัก เช่น ลิงก์การนำทาง หรือฟังก์ชันรอง เช่น "ดูข้อมูลเพิ่มเติม" หรือ "ดู รายละเอียด" |
รูปภาพนี้แสดงปุ่ม 5 ประเภทใน Material Design
แพลตฟอร์ม API
onClick- ฟังก์ชันที่ระบบเรียกใช้เมื่อผู้ใช้กดปุ่ม
enabled- เมื่อเป็น
falseพารามิเตอร์นี้จะทำให้ปุ่มปรากฏเป็นปุ่มที่ใช้ไม่ได้และ ไม่ทำงาน colors- อินสแตนซ์ของ
ButtonColorsที่กำหนดสีที่ใช้ใน ปุ่ม contentPadding- ระยะห่างภายในปุ่ม
ปุ่มแบบเติมสี
คอมโพเนนต์ปุ่มแบบเติมสีใช้คอมโพสได้พื้นฐาน Button โดยจะเติมสีพื้นไว้โดยค่าเริ่มต้น ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์
@Composable fun FilledButtonExample(onClick: () -> Unit) { Button(onClick = { onClick() }) { Text("Filled") } }
การใช้งานนี้จะปรากฏดังนี้
ปุ่มแบบเติมสีโทน
คอมโพเนนต์ปุ่มแบบเติมสีโทนใช้ FilledTonalButton คอมโพสได้
โดยจะเติมสีโทนไว้โดยค่าเริ่มต้น
ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์
@Composable fun FilledTonalButtonExample(onClick: () -> Unit) { FilledTonalButton(onClick = { onClick() }) { Text("Tonal") } }
การใช้งานนี้จะปรากฏดังนี้
ปุ่มแบบเติมขอบ
คอมโพเนนต์ปุ่มแบบเติมขอบใช้ OutlinedButton คอมโพสได้ โดยจะปรากฏพร้อมเส้นขอบโดยค่าเริ่มต้น
ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์
@Composable fun OutlinedButtonExample(onClick: () -> Unit) { OutlinedButton(onClick = { onClick() }) { Text("Outlined") } }
การใช้งานนี้จะปรากฏดังนี้
ปุ่มแบบยกขึ้น
คอมโพเนนต์ปุ่มแบบยกขึ้นใช้ ElevatedButton คอมโพสได้ โดยจะมีเงาที่แสดงถึงเอฟเฟกต์ความสูงโดยค่าเริ่มต้น ซึ่งเป็นปุ่มแบบเติมสีที่มีเงา
ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์
@Composable fun ElevatedButtonExample(onClick: () -> Unit) { ElevatedButton(onClick = { onClick() }) { Text("Elevated") } }
การใช้งานนี้จะปรากฏดังนี้
ปุ่มข้อความ
คอมโพเนนต์ปุ่มข้อความใช้ TextButton คอมโพสได้ โดยจะปรากฏเป็นข้อความเท่านั้นจนกว่าจะมีการกด ซึ่งจะไม่มีสีเติมหรือเส้นขอบโดยค่าเริ่มต้น
ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์
@Composable fun TextButtonExample(onClick: () -> Unit) { TextButton( onClick = { onClick() } ) { Text("Text Button") } }
การใช้งานนี้จะปรากฏดังนี้