Android: aggiungere una toolbar

IMPORTANTE – Prima di cominciare:

In questo articolo, parliamo di come aggiungere una toolbar ad un layout. Per questo, è essenziale usare un layout di partenza privo di toolbar, altrimenti l’applicazione si bloccherebbe una volta avviata. Consiglio quindi di editare il file res -> values -> styles ed utilizzare un tema privo di toolbar, ad esempio:

<style name=”AppTheme” parent=”Theme.AppCompat.Light.NoActionBar” …

Per questo esempio, ho usato una View di tipo “Relative Layout”, siccome Android Studio genera quasi sempre un’attività di tipo “Constraint Layout” è opportuno cambiare, nella seconda riga dell’attività (nel nostro caso activity_main.xml):

<android.support.constraint.ConstraintLayout xmlns:…”><android.support.constraint.ConstraintLayout>

con

<RelativeLayout xlmns…><RelativeLayout>

In Android Studio, navigate fino alla directory layout, cliccate con il destro sul nome della directory e scegliete New -> Layout resource file.

Nella finestra New Resource File, settate il nome della toolbar (nel mio esempio l’ho chiamata “app_bar_layout”) ed il Root element che deve essere del tipo android.support.v7.widget.Toolbar. Non occorre cambiare altri parametri.

Per avere un’altezza variabile della toolbar, a seconda dei contenuti, cambiamo poi il parametro:

android.layout_height=”wrap_content”

Per avere una toolbar abbinata con i colori del sito aggiungiamo:

android:background=”@color/colorPrimary”

Alla toolbar andrà poi assegnato un ID. Nella schermata grafica della toolbar, cambiare il valore di ID in un valore a scelta (io ho usato man_app_bar) ed un tema. Sotto Theme, sempre nelle proprietà della schermata grafica, scegliere il valore ThemeOverlay.AppCompat.Dark.ActionBar.

Come aggiungere la toolbar ad un’activity:

Aprire l’activity (nel nostro caso activity_main.xml) in modalità text ed aggiungiamo la nostra toolbar come prima View:

<include layout=”@layout/app_bar_layout”><include>

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *