新增浮動動作按鈕

試用 Compose
Jetpack Compose 是 Android 推薦的 UI 工具包。瞭解如何在 Compose 中新增元件。

懸浮動作按鈕 (FAB) 是一種圓形按鈕,可在應用程式的使用者介面中觸發主要操作。本文說明如何將 FAB 新增至版面配置、自訂部分外觀,以及回應按鈕輕觸動作。

如要進一步瞭解如何根據 Material Design 指南為應用程式設計懸浮動作按鈕 (FAB),請參閱質感設計懸浮動作按鈕 (FAB)。

這張圖片顯示應用程式畫面含有紅色的 FloatingActionButton
圖 1:懸浮動作按鈕 (FAB)。

在版面配置中加入懸浮動作按鈕

下列程式碼說明 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 屬性,例如:

  • FAB 的大小,可利用 app:fabSize 屬性或 setSize() 方法
  • FAB 的漣漪效果,可使用 app:rippleColor 屬性或 setRippleColor() 方法
  • 懸浮動作按鈕 (FAB) 圖示,可利用 android:src 屬性或 setImageDrawable() 方法

對輕觸按鈕作出回應

接著,您可以套用 View.OnClickListener 來處理 FAB 輕觸動作。舉例來說,以下程式碼會在使用者輕觸懸浮動作按鈕 (FAB) 時顯示 Snackbar

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) 的功能,請參閱 FloatingActionButton 的 API 參考資料。