Adicionar um botão de ação flutuante

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. Esta página mostra como adicionar o FAB ao seu layout, personalizar parte da aparência dele e responder aos toques no botão.

Para saber mais sobre como criar um botão de ação flutuante no seu app de acordo com as Diretrizes do Material Design, consulte também Botões: botão de ação flutuante (link em inglês).

Figura 1. Um botão de ação flutuante.

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

O código a seguir mostra como o FloatingActionButton precisa aparecer no seu arquivo de layout:

    <android.support.design.widget.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, o FAB é colorido pelo atributo colorAccent, que você pode personalizar com a paleta de cores do tema.

Você pode configurar outras propriedades do FAB usando os atributos XML ou os métodos correspondentes, como os seguintes:

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

Responder aos toques no botão

Você pode aplicar um View.OnClickListener para gerenciar os toques no FAB. Por exemplo, o código a seguir exibe um 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 FloatingActionButton.