Aggiungere i menù in un’applicazione qualsiasi versione Android con la libreria di supporto tramite le ActionBar per rendere le applicazioni strutturate e funzionali
Quasi tutte le applicazioni in Android forniscono un menù con cui è possibile accedere ad funzionalità e fornire informazioni, la classe Java che consente di utilizzare i menù prende il nome di ActionBar. Nel corso delle varie release di Android l’action bar utilizzate sono cambiate, per questo motivo è stata sviluppata una libreria di supporto che consente di utilizzare l’ActionBar senza preoccuparsi della versione su cui l’applicazione sarà avviata, sarà compito del sistema operativo renderlo compatibile con la versione di Android utilizzata.
Per aggiungere una toolbar bisogna importare le librerie nel Grandle con la versione più recente:
compile 'com.android.support:support-v4:18.0.+'
compile 'com.android.support:appcompat-v7:18.0.+'
}
ed estendere la classe AppCompatActivity per ogni Activity che utilizziamo nella nostra applicazione:
public class MyActivity extends AppCompatActivity {
// ...
}
Nel manifesto dell’applicazione è possibile specificare se utilizzare un tema senza ActionBar, ad esempio:
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
/>
Per aggiungere una toolbar al layout di un’attività dovremo scrivere nel file XML:
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"/>
Per collegare una toolbar ad un’activity dovremo chiamare all’interno del metodo onCreate() il metodo setSupportActionBar() passandogli la l’id della toolbar:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
}
A questo punto possiamo aggiungere elementi e funzionalità all’ActionBar recuperando la sua istanza con il metodo getSupportActionBar() ed utilizzare il metodi offerti dalla classe. Per maggiori informazioni vi rimando alla guida ufficiale di Google e alla documentazione della classe ActionBar.
Indice | Lezione Precedente – Lezione Successiva |