Adicionar um botão de ação flutuante

Testar o Compose
O Jetpack Compose é o kit de ferramentas de interface recomendado para Android. Aprenda a adicionar componentes no Compose.

Um botão de ação flutuante (FAB, na sigla em inglês) é um botão circular que aciona a ação principal na IU do seu app. Este documento mostra como adicionar um FAB ao seu layout. personalizar parte da aparência e responder aos toques no botão.

Para saber mais sobre como projetar um FAB para o app de acordo com a documentação do Material Design, diretrizes de design, consulte Material Design FAB (link em inglês) ,

Uma imagem mostrando uma tela de app com um floatActionButton vermelho
Figura 1. Um botão de ação flutuante (FAB, na sigla em inglês).

Adicionar o botão de ação flutuante ao layout

O código a seguir mostra como FloatingActionButton aparece no arquivo de layout:

<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" />

Por padrão, um FAB é colorido pelo atributo colorAccent, que você pode personalize com a cor do tema paleta.

É possível configurar outras propriedades do FAB usando atributos XML ou correspondentes métodos, como os seguintes:

  • O tamanho do FAB, usando o atributo app:fabSize ou o setSize() método
  • A cor de ondulação do FAB, usando o atributo app:rippleColor ou o setRippleColor() método
  • O ícone do FAB, usando o atributo android:src ou o setImageDrawable() método

Responder aos toques no botão

Você pode então aplicar uma View.OnClickListener para os toques no FAB. Por exemplo, o código a seguir mostra Snackbar quando o usuário toca no 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 mais informações sobre os recursos do FAB, consulte a Referência da API para o FloatingActionButton