フローティング操作ボタンを追加する

Compose の方法を試す
Jetpack Compose は、Android で推奨される UI ツールキットです。Compose でコンポーネントを追加する方法について説明します。

フローティング アクション ボタン(FAB)とは、アプリの UI でメインとなる操作をトリガーする円形のボタンのことです。このドキュメントでは、レイアウトに FAB を追加する方法について説明します。 デザインをカスタマイズしたり、ボタンのタップに反応したりします。

マテリアル要件に従ってアプリの 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 のサイズは、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 リファレンスをご覧ください。