Configura la barra dell'app

Prova la funzionalità Scrivi
Jetpack Compose è il toolkit consigliato per la UI 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 offre alle app per Android un aspetto coerente.

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

Tutte le attività che utilizzano il tema predefinito hanno un'ActionBar come barra delle app. Le funzionalità della barra delle app vengono aggiunte a ActionBar nativo nelle varie release di Android. Di conseguenza, ActionBar nativo si comporta in modo diverso a seconda della versione di Android in uso sul dispositivo.

D'altra parte, le funzionalità vengono aggiunte alla versione Toolbar della libreria AndroidX AppCompat, il che significa che 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 sulla più ampia gamma di dispositivi.

Aggiungere una barra degli strumenti a un'attività

Questi passaggi descrivono come configurare Toolbar come barra delle app delle tue attività:
  1. Aggiungi la libreria AndroidX al progetto, come descritto nella 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. Se utilizzi uno di questi temi, l'app non potrà usare 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 la specifica 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 delle app.

  5. Nel metodo onCreate() dell'attività, chiama il metodo setSupportActionBar() dell'attività e passa la barra degli strumenti dell'attività, 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 app contiene il nome dell'app e un menu extra, che inizialmente contiene l'elemento 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 classeActionBar della libreria AndroidX. Questo approccio ti consente di eseguire operazioni utili, ad esempio nascondere e mostrare la barra delle app.

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