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