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.
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 unToolbar
come barra delle app per le tue attività:
- Aggiungi la libreria AndroidX al tuo progetto, come descritto nella panoramica di AndroidX.
- Assicurati che l'attività si estenda a
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- Nel file manifest dell'app, imposta l'elemento
<application>
per utilizzare uno dei temiNoActionBar
di AppCompat, come mostrato nell'esempio seguente. L'utilizzo di uno di questi temi impedisce all'app di utilizzare la classe nativaActionBar
per fornire la barra dell'app.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Aggiungi un elemento
Toolbar
al layout dell'attività. Ad esempio, il seguente codice di layout aggiunge un elementoToolbar
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.
- Nel metodo
onCreate()
dell'attività, chiama il metodosetSupportActionBar()
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()
.