Un botón de acción flotante (BAF) es un botón circular que activa la acción principal en la IU de tu app. En este documento, se muestra cómo agregar un FAB a tu diseño, personalizar parte de su apariencia y responder cuando se presionan los botones.
Para obtener más información sobre cómo diseñar un FAB para tu app según los lineamientos de Material Design, consulta FAB de Material Design.

Cómo agregar el botón de acción flotante a tu diseño
En el siguiente código, se muestra cómo aparece FloatingActionButton
en tu archivo de diseño:
<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" />
De forma predeterminada, el FAB se colorea con el atributo colorAccent
, que puedes personalizar con la paleta de colores del tema.
Puedes configurar otras propiedades de FAB con atributos XML o métodos correspondientes, como los siguientes:
- El tamaño del FAB, con el atributo
app:fabSize
o el métodosetSize()
- El color de ondas del BAF, utilizando el atributo
app:rippleColor
o el métodosetRippleColor()
- El ícono del BAF, con el atributo
android:src
o el métodosetImageDrawable()
Cómo responder a presiones de botones
Luego, puedes aplicar un View.OnClickListener
para controlar los toques del BAF. Por ejemplo, el siguiente código muestra un Snackbar
cuando el usuario presiona el 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(); } });
Para obtener más información sobre las funciones del BAF, consulta la referencia de la API de FloatingActionButton
.