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.
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 unToolbar come barra delle app dell'attività:
- Aggiungi la libreria AndroidX al tuo progetto, come descritto in 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 temiNoActionBardi AppCompat, come mostrato nell'esempio seguente. L'utilizzo di uno di questi temi impedisce all'app di utilizzare la classeActionBarnativa per fornire la barra delle app.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Aggiungi un
Toolbaral layout dell'attività. Ad esempio, il seguente codice di layout aggiunge unToolbare 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.
- Nel metodo
onCreate()dell'attività, chiama il metodosetSupportActionBar()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().