Nella sua forma più elementare, la barra delle azioni mostra il titolo dell’attività su un lato e un menu di overflow sull’altro. Anche in questa forma semplice, l’app bar fornisce informazioni utili agli utenti, e aiuta a dare alle applicazioni Android un look and feel coerente.
Figura 1. Un’app bar con l’apptitle e il menu overflow.
A partire da Android 3.0 (livello API 11), tutte le attività che utilizzano il tema predefinito hanno un ActionBar
come app bar. Tuttavia, le caratteristiche delle app bar sono state gradualmente aggiunte al ActionBar
nativo nel corso delle varie versioni di Android. Di conseguenza, il ActionBar
nativo si comporta in modo diverso a seconda della versione del sistema Android che un dispositivo sta utilizzando. Al contrario, le caratteristiche più recenti sono aggiunte alla versione della libreria di supporto di Toolbar
, e sono disponibili su qualsiasi dispositivo che può usare la libreria di supporto.
Per questo motivo, dovresti usare la classe Toolbar
della libreria di supporto per implementare le barre delle tue attività. Usare la barra della libreria di supporto aiuta a garantire che la tua app abbia un comportamento coerente attraverso la più ampia gamma di dispositivi. Per esempio, il widget Toolbar
fornisce un’esperienza di material design sui dispositivi con Android 2.1 (livello API 7) o successivi, ma la barra delle azioni nativa non supporta il material design a meno che il dispositivo non abbia Android 5.0 (livello API 21) o successivo.
Aggiungi una barra degli strumenti a un’attività
Questi passi descrivono come impostare una Toolbar
come barra delle applicazioni della tua attività:
- Aggiungi la libreria di supporto v7 appcompat al tuo progetto, come descritto in Impostazione della libreria di supporto.
- Assicurati che l’attività estenda
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ...}
Java
public class MyActivity extends AppCompatActivity { // ...}
Nota: Fai questa modifica per ogni attività nella tua app che usa un
Toolbar
come app bar. - Nel manifesto dell’app, imposta l’elemento
<application>
per usare uno dei temiNoActionBar
di appcompat. L’uso di uno di questi temi impedisce all’app di usare la classe nativaActionBar
per fornire l’app bar. Per esempio:<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Aggiungi un
Toolbar
al layout dell’attività. Per esempio, il seguente codice di layout aggiunge unToolbar
e gli dà l’aspetto di galleggiare sopra l’attività:<android.support.v7.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"/>
Vedi la specifica Material Design per le raccomandazioni riguardanti l’elevazione della barra delle app.
Posiziona la barra degli strumenti nella parte superiore del layout dell’attività, dato che la stai usando come app bar.
- Nel metodo
onCreate()
dell’attività, chiama il metodosetSupportActionBar()
dell’attività e passa la barra degli strumenti dell’attività. Questo metodo imposta la barra degli strumenti come barra dell’applicazione per l’attività. Per esempio:Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // Note that the Toolbar defined in the layout has the id "my_toolbar" setSupportActionBar(findViewById(R.id.my_toolbar))}
Java
@Overrideprotected 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 ha ora una barra delle azioni di base. Per impostazione predefinita, la barra d’azione contiene solo il nome dell’applicazione e un menu di overflow. Il menu delle opzioni inizialmente contiene solo la voce Settings. Puoi aggiungere altre azioni alla barra delle azioni e al menu di overflow, come descritto in Aggiungere e gestire le azioni.
Utilizzare i metodi di utilità della barra delle applicazioni
Una volta che hai impostato la barra degli strumenti come barra delle applicazioni di un’attività, hai accesso ai vari metodi di utilità forniti dalla classe ActionBar
della libreria di supporto appcompat v7. Questo approccio ti permette di fare una serie di cose utili, come nascondere e mostrare l’app bar.