Configura la barra dell'app

Prova la modalità Scrivi
Jetpack Compose è il toolkit dell'interfaccia utente consigliato per Android. Scopri come aggiungere componenti in Compose.

Nella sua forma più semplice, la barra delle azioni mostra il titolo dell'attività da un lato e un menu extra dall'altro. Anche in questo formato di base, la barra dell'app fornisce informazioni utili agli utenti e conferisce alle app Android un aspetto e uno stile coerenti.

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

Tutte le attività che utilizzano il tema predefinito hanno un valore ActionBar come barra delle app. Le funzionalità della barra delle app vengono aggiunte a ActionBar nativo nel corso di varie release di Android. Di conseguenza, il comportamento dell'ActionBar nativo varia 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.

Per questo motivo, utilizza la classe Toolbar della libreria AndroidX per implementare le barre delle app delle tue attività. L'uso della barra degli strumenti della libreria AndroidX rende coerente il comportamento dell'app sulla più ampia gamma di dispositivi.

Aggiungi una barra degli strumenti a un'attività

Questi passaggi descrivono come configurare un Toolbar come barra delle app per le tue attività:
  1. Aggiungi la libreria AndroidX al tuo progetto, come descritto nella panoramica di AndroidX.
  2. Assicurati che l'attività si estenda a AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. Nel file manifest dell'app, imposta l'elemento <application> per utilizzare 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 nativa ActionBar per fornire la barra dell'app.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
    
  4. Aggiungi un elemento Toolbar al layout dell'attività. Ad esempio, il seguente codice di layout aggiunge un elemento Toolbar e gli dà 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 dell'app.

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

  5. Nel metodo onCreate() dell'attività, chiama il metodo setSupportActionBar() dell'attività e trasmetti la barra degli strumenti dell'attività, come mostrato nell'esempio seguente. Questo metodo imposta la barra degli strumenti come barra dell'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);
    }
    

L'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 nella sezione Aggiungere e gestire le azioni.

Utilizzare i metodi dell'utilità della barra delle app

Dopo aver impostato la barra degli strumenti come barra dell'app di un'attività, puoi accedere 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 dell'utilità ActionBar, chiama il metodo getSupportActionBar() dell'attività. Questo metodo restituisce un riferimento a un oggetto AppCompat ActionBar. Una volta ottenuto il 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().