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