เพิ่มปุ่มการทำงานแบบลอย

ลองใช้วิธีการเขียน
Jetpack Compose เป็นชุดเครื่องมือ UI ที่แนะนำสำหรับ Android ดูวิธีเพิ่มคอมโพเนนต์ใน Compose

ปุ่มการทำงานแบบลอย (FAB) เป็นปุ่มวงกลมที่เรียกปุ่มหลัก การดำเนินการใน UI ของแอป หน้านี้จะแสดงวิธีเพิ่ม FAB ไปยังเลย์เอาต์ของคุณ ปรับแต่งรูปลักษณ์บางอย่างและตอบกลับการแตะปุ่ม

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีออกแบบปุ่มการทำงานแบบลอยลงในแอป ตามหลักเกณฑ์ดีไซน์ Material โปรดดูปุ่ม: ปุ่มการทำงานแบบลอยด้วย

รูปที่ 1 ปุ่มการทำงานแบบลอย

เพิ่มปุ่มการทำงานแบบลอยในเลย์เอาต์

โค้ดต่อไปนี้แสดงวิธีที่ FloatingActionButton ควร จะปรากฏในไฟล์เลย์เอาต์ของคุณดังนี้

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@drawable/ic_my_icon"
        android:contentDescription="@string/submit"
        android:layout_margin="16dp" />

โดยค่าเริ่มต้น FAB จะใช้สีตามแอตทริบิวต์ colorAccent ซึ่งคุณสามารถกำหนดค่า ด้วยชุดสีของธีม

คุณสามารถกำหนดค่าพร็อพเพอร์ตี้ FAB อื่นๆ โดยใช้ XML ใดก็ได้ หรือวิธีการที่เกี่ยวข้องดังตัวอย่างต่อไปนี้

  • ขนาดของ FAB โดยใช้แอตทริบิวต์ app:fabSize หรือ setSize() วิธี
  • สีระลอกคลื่นของ FAB โดยใช้แอตทริบิวต์ app:rippleColor หรือค่า setRippleColor() วิธี
  • ไอคอน FAB โดยใช้แอตทริบิวต์ android:src หรือ setImageDrawable() วิธี

ตอบสนองต่อการแตะปุ่ม

จากนั้นคุณจะใช้ View.OnClickListener เพื่อจัดการ FAB ได้ แตะ ตัวอย่างเช่น รหัสต่อไปนี้จะแสดง Snackbar เมื่อผู้ใช้แตะ FAB

Kotlin

val fab: View = findViewById(R.id.fab)
fab.setOnClickListener { view ->
    Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
            .setAction("Action", null)
            .show()
}

Java

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
    }
});

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความสามารถของ FAB โปรดดูเอกสารอ้างอิง API สำหรับ FloatingActionButton