Configura la barra dell'app

Prova Compose
Jetpack Compose è il toolkit per la UI consigliato per Android. Scopri come aggiungere componenti in Compose.

Nella sua forma più semplice, la barra delle azioni mostra il titolo dell'attività su un lato e un menu extra sull'altro. Anche in questa forma di base, la barra delle app fornisce informazioni utili agli utenti e conferisce alle app per Android un aspetto coerente.

Un'immagine che mostra la barra delle app nell'app Now in Android
Figura 1. Una barra dell'app con un'icona di azione nell'app "Now in Android".

Tutte le attività che utilizzano il tema predefinito hanno una ActionBar come barra delle app. Le funzionalità della barra delle app vengono aggiunte alla ActionBar nativa in varie versioni di Android. Di conseguenza, l'ActionBar nativo si comporta in modo diverso a seconda della versione di Android utilizzata dal dispositivo.

D'altra parte, le funzionalità vengono aggiunte alla versione di Toolbar della libreria AndroidX AppCompat, il che significa che queste funzionalità sono disponibili sui dispositivi che utilizzano le librerie AndroidX.

Utilizza la classe Toolbar della libreria AndroidX per implementare le barre delle app delle tue attività per questo motivo. L'utilizzo della barra degli strumenti della libreria AndroidX rende il comportamento della tua app coerente nella più ampia gamma di dispositivi.

Aggiungere una barra degli strumenti a un'attività

Questi passaggi descrivono come impostare un Toolbar come barra delle app dell'attività:
  1. Aggiungi la libreria AndroidX al tuo progetto, come descritto in Panoramica di AndroidX.
  2. Assicurati che l'attività si estenda AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. Nel file manifest dell'app, imposta l'elemento <application> in modo che utilizzi uno dei temi NoActionBar di AppCompat, come mostrato nell'esempio seguente. L'utilizzo di uno di questi temi impedisce all'app di utilizzare la classe ActionBar nativa per fornire la barra delle app.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. Aggiungi un Toolbar al layout dell'attività. Ad esempio, il seguente codice di layout aggiunge un Toolbar e gli conferisce l'aspetto di un elemento mobile sopra l'attività:
    <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"/>

    Consulta le specifiche di Material Design per i consigli sull'elevazione della barra delle app.

    Posiziona la barra degli strumenti nella parte superiore del layout dell'attività, poiché la utilizzi come barra dell'app.

  5. Nel metodo onCreate() dell'attività, chiama il metodo setSupportActionBar() dell'attività e passa la relativa barra degli strumenti, come mostrato nell'esempio seguente. Questo metodo imposta la barra degli strumenti come barra delle app per l'attività.

    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);
    }

La tua app ora ha una barra delle azioni di base. Per impostazione predefinita, la barra delle azioni contiene il nome dell'app e un menu extra, che inizialmente contiene la voce Impostazioni. Puoi aggiungere altre azioni alla barra delle azioni e al menu extra, come descritto in Aggiungere e gestire le azioni.

Utilizzare i metodi di utilità della barra delle app

Una volta impostata la barra degli strumenti come barra delle app di un'attività, hai accesso ai metodi di utilità forniti dalla classe ActionBar della libreria AndroidX. Questo approccio ti consente di eseguire operazioni utili, come nascondere e mostrare la barra delle app.

Per utilizzare i metodi di utilità ActionBar, chiama il metodo getSupportActionBar() dell'attività. Questo metodo restituisce un riferimento a un oggetto AppCompat ActionBar. Una volta ottenuto questo riferimento, puoi chiamare uno qualsiasi dei metodi ActionBar per regolare la barra delle app. Ad esempio, per nascondere la barra delle app, chiama ActionBar.hide().