Thêm nút hành động nổi

Thử cách Compose
Jetpack Compose là bộ công cụ giao diện người dùng được đề xuất cho Android. Tìm hiểu cách thêm thành phần trong Compose.

Nút hành động nổi (FAB) là một nút tròn kích hoạt hành động chính trong giao diện người dùng của ứng dụng. Tài liệu này cho biết cách thêm FAB vào bố cục, tuỳ chỉnh một số giao diện và phản hồi thao tác nhấn vào nút.

Để tìm hiểu thêm về cách thiết kế FAB cho ứng dụng theo Nguyên tắc thiết kế Material Design, hãy xem phần FAB Material Design.

Hình ảnh hiển thị màn hình ứng dụng chứa mộtFloatActionButton màu đỏ
Hình 1. Nút hành động nổi (FAB).

Thêm nút hành động nổi vào bố cục

Mã sau đây cho thấy cách FloatingActionButton xuất hiện trong tệp bố cục:

<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" />

Theo mặc định, FAB được tô màu bằng thuộc tính colorAccent. Bạn có thể tuỳ chỉnh bằng bảng màu của giao diện.

Bạn có thể định cấu hình các thuộc tính FAB khác bằng các thuộc tính XML hoặc các phương thức tương ứng, chẳng hạn như sau:

  • Kích thước của FAB, sử dụng thuộc tính app:fabSize hoặc phương thức setSize()
  • Màu gợn sóng của FAB, sử dụng thuộc tính app:rippleColor hoặc phương thức setRippleColor()
  • Biểu tượng FAB sử dụng thuộc tính android:src hoặc phương thức setImageDrawable()

Phản hồi khi nhấn nút

Sau đó, bạn có thể áp dụng View.OnClickListener để xử lý các thao tác nhấn FAB. Ví dụ: Mã sau đây hiển thị một Snackbar khi người dùng nhấn vào 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();
    }
});

Để biết thêm thông tin về các chức năng của FAB, hãy xem tài liệu tham khảo API cho FloatingActionButton.