Добавление плавающей командной кнопки

Попробуйте Compose
Jetpack Compose – это рекомендуемый набор инструментов для создания пользовательского интерфейса в Android. Узнайте, как добавлять компоненты в Compose.

Плавающая кнопка действия – это круглая кнопка, которая запускает основное действие в интерфейсе приложения. В этом документе показано, как добавить FAB в макет, настроить его внешний вид и реагировать на нажатия кнопок.

Чтобы узнать больше о том, как разработать плавающую кнопку действия для своего приложения в соответствии с рекомендациями по дизайну материалов, ознакомьтесь с Material Design 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" />

По умолчанию цвет плавающей кнопки действия определяется атрибутом colorAccent, который можно настроить с помощью цветовой палитры темы.

Вы можете настроить другие свойства FAB, используя атрибуты XML или соответствующие методы, например:

  • Размер плавающей кнопки действия, заданный с помощью атрибута app:fabSize или метода setSize().
  • Цвет пульсации плавающей кнопки действия, заданный с помощью атрибута app:rippleColor или метода setRippleColor().
  • Значок плавающей кнопки действия, который задается с помощью атрибута 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();
    }
});

Дополнительную информацию о возможностях плавающей кнопки действия можно найти в документации по API для FloatingActionButton.