ปุ่ม

ปุ่มเป็นองค์ประกอบพื้นฐานที่ช่วยให้ผู้ใช้เรียกใช้การดำเนินการที่กำหนดไว้ได้ ปุ่มมี 5 ประเภท ตารางนี้อธิบายลักษณะของปุ่มทั้ง 5 ประเภท รวมถึงตำแหน่งที่ควรใช้ปุ่มแต่ละประเภท

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

รูปภาพนี้แสดงปุ่ม 5 ประเภทใน Material Design

ตัวอย่างของคอมโพเนนต์ปุ่มทั้ง 5 รายการ โดยไฮไลต์ลักษณะเฉพาะของแต่ละรายการ
รูปที่ 1 คอมโพเนนต์ปุ่ม 5 รายการ

แพลตฟอร์ม API

onClick
ฟังก์ชันที่ระบบเรียกใช้เมื่อผู้ใช้กดปุ่ม
enabled
เมื่อ false พารามิเตอร์นี้จะทำให้ปุ่มปรากฏเป็นไม่พร้อมใช้งานและไม่ทำงาน
colors
อินสแตนซ์ของ ButtonColors ที่กำหนดสีที่ใช้ในปุ่ม
contentPadding
ระยะห่างจากขอบภายในปุ่ม

ปุ่มแบบทึบ

คอมโพเนนต์ปุ่มที่เติมสีจะใช้ Composable Button พื้นฐาน โดยค่าเริ่มต้น พื้นหลังจะเป็นสีทึบ ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์และแสดงตัวอย่างแบบอินเทอร์แอกทีฟ

@Composable
fun FilledButtonExample(onClick: () -> Unit) {
    Button(onClick = { onClick() }) {
        Text("Filled")
    }
}

ปุ่มโทนสีแบบเติม

คอมโพเนนต์ปุ่มแบบเติมสีโทนเดียวใช้คอมโพสิเบิล FilledTonalButton โดยค่าเริ่มต้นจะเติมด้วยสีโทนเดียว

ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์และแสดงตัวอย่างแบบอินเทอร์แอกทีฟ

@Composable
fun FilledTonalButtonExample(onClick: () -> Unit) {
    FilledTonalButton(onClick = { onClick() }) {
        Text("Tonal")
    }
}

ปุ่มแบบมีเส้นขอบ

คอมโพเนนต์ปุ่มที่มีเส้นขอบใช้ OutlinedButton Composable โดยจะปรากฏพร้อมกับเส้นขอบโดยค่าเริ่มต้น

ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์และแสดงตัวอย่างแบบอินเทอร์แอกทีฟ

@Composable
fun OutlinedButtonExample(onClick: () -> Unit) {
    OutlinedButton(onClick = { onClick() }) {
        Text("Outlined")
    }
}

ปุ่มแบบยกสูง

คอมโพเนนต์ปุ่มที่ยกขึ้นจะใช้ ElevatedButton Composable โดยจะมีเงาที่แสดงถึงเอฟเฟกต์ระดับความสูงโดยค่าเริ่มต้น เป็นปุ่มแบบเติมสีที่มีเงา

ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์และแสดงตัวอย่างแบบอินเทอร์แอกทีฟ

@Composable
fun ElevatedButtonExample(onClick: () -> Unit) {
    ElevatedButton(onClick = { onClick() }) {
        Text("Elevated")
    }
}

ปุ่มข้อความ

คอมโพเนนต์ปุ่มข้อความใช้ TextButton Composable โดยจะปรากฏเป็นข้อความเท่านั้นจนกว่าจะกด โดยค่าเริ่มต้นจะไม่มีการเติมสีทึบหรือเส้นขอบ

ข้อมูลโค้ดแสดงวิธีใช้คอมโพเนนต์และแสดงตัวอย่างแบบอินเทอร์แอกทีฟ

@Composable
fun TextButtonExample(onClick: () -> Unit) {
    TextButton(
        onClick = { onClick() }
    ) {
        Text("Text Button")
    }
}

แหล่งข้อมูลเพิ่มเติม