Configurar a barra de apps

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

Em sua forma mais básica, a barra de ações exibe o título da atividade em um e um menu flutuante do outro. Mesmo nessa forma básica, a barra de aplicativos fornece informações úteis para os usuários e dá aos apps Android uma aparência consistente.

Uma imagem mostrando a barra de apps no app Now in Android
Figura 1. Uma barra de apps com um ícone de ação no "Now in Android" app.
.

Todas as atividades que usam o tema padrão têm um ActionBar como um app barra. Os recursos da barra de apps são adicionados ao ActionBar nativo em vários Versões do Android. Como resultado, o ActionBar nativo se comporta de maneira diferente. dependendo da versão do Android usada pelo dispositivo.

Por outro lado, recursos são adicionados à versão da biblioteca AndroidX AppCompat Toolbar, o que significa que esses recursos estão disponíveis em dispositivos que usam as bibliotecas do AndroidX.

Use a classe Toolbar da biblioteca do AndroidX para implementar o barras de apps por esse motivo. Usar a barra de ferramentas da biblioteca do AndroidX faz com que a comportamento consistente na maior gama de dispositivos.

Adicionar uma barra de ferramentas a uma atividade

Estas etapas descrevem como configurar um Toolbar como a barra de apps da sua atividade:
  1. Adicione a biblioteca do AndroidX ao seu projeto, conforme descrito em Visão geral do AndroidX.
  2. Certifique-se de que a atividade se estenda AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }
    

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. No manifesto do app, defina <application> para usar um dos NoActionBar e temas, como mostrado no exemplo a seguir. O uso de um desses temas impede que de usar a classe ActionBar nativa para fornecer a barra de apps.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
    
  4. Adicione uma Toolbar ao layout da atividade. Por exemplo, o seguinte código de layout adiciona uma Toolbar e faz com que ela pareça flutuante acima da atividade:
    <androidx.appcompat.widget.Toolbar
       android:id="@+id/my_toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       android:elevation="4dp"
       android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
    

    Consulte a Especificações do Material Design para recomendações sobre a elevação da barra do app.

    Posicione a barra de ferramentas no topo do layout, já que você está usando como uma barra de apps.

  5. No módulo onCreate() , chame o método setSupportActionBar() e passe a barra de ferramentas da atividade, conforme mostrado no exemplo a seguir. Isso define a barra de ferramentas como a barra de apps para a atividade.

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // The Toolbar defined in the layout has the id "my_toolbar".
        setSupportActionBar(findViewById(R.id.my_toolbar))
    }
    

    Java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);
    }
    

Seu app agora tem uma barra de ações básica. Por padrão, a barra de ações contém o nome do app e um menu flutuante, que inicialmente contém o item Configurações. Você pode adicionar mais ações à barra de ações e ao menu flutuante, conforme descrito em Adicionar e processar ações.

Usar métodos utilitários da barra de apps

Depois de definir a barra de ferramentas como a barra de aplicativos de uma atividade, você terá acesso ao utilitário métodos fornecidos pelo sistema de arquivos ActionBar . Essa abordagem permite realizar ações úteis, como ocultar e mostrar a barra de apps.

Para usar os métodos utilitários da ActionBar, chame o método getSupportActionBar() . Esse método retorna uma referência a um objeto ActionBar AppCompat. Com essa referência, é possível chamar qualquer um dos métodos ActionBar para ajustar a barra de apps. Por exemplo, para ocultar a barra de apps, chame ActionBar.hide():