Posts Tagged "api level"

Aggiungere la nuova ActionBarCompact

Posted by on Nov 2, 2013 in Tutorial | 0 comments

Aggiungere la nuova ActionBarCompact

In questo breve tutorial spiegherò come aggiungere alle nostre applicazioni la nuova ActionBarCompact che ci permette di utilizzare tutte le funzionalità dell’ ActionBar classica supportando anche le API Level 7.

L’ adozione dell’ ActionBar risale alle API Level 11 con HoneyComb e da li in poi Google ha sempre consigliato di utilizzarla per maggiore integrazione tra le applicazioni e il sistema operativo e uniformità tra le app. Purtroppo per poter adottare la classica ActionBar occorre  sviluppare per un minSdk 11 quindi tagliare fuori una buona fetta di device (prima più di 50% ora 28%). Grazie al lavoro (stupendo aggiungerei) di Jake Warton abbiamo per un po di tempo integrato una “fotocopia” della classica ActionBar, la ActionBarSherlock (ABS abbreviato).

Usando ABS possiamo sfruttare (emulando) tutte le potenzialità di una classica ActionBar rispettando cosi le linee guide di Google.  ABS è stata usata da Google stessa per sviluppare il Play Store che per ovvi motivi deve essere compatibile per il maggior numero di dispositivi.

Per fortuna Google ha provveduto da poco (in ritardo) a colmare questa mancanza di supporto rilasciando con Android 4.3 una nuova libreria di supporto la v7 che comprende anche l’ ActionBarCompact (ABC abbreviato).

Utilizzare ABC per le nostre applicazioni è molto semplice e richiede pochi secondi e poco lavoro.

Per prima cosa assicuriamoci di aver scaricato la libreria di supporto. Per controllare ed eventualmente scaricarla useremo il tool Android Sdk Manager. Troviamo Android Sdk Manager nella cartella {sdk}/tool/ oppure possiamo lanciarlo con il comodo pulsante di Eclipse/Adt.

asm

Scaricando l’ ultima versione di ADT avremo già tutto il necessario per usare ABC. Assicurarsi di avere il progetto appcompat in:

{sdk home}/extras/android/support/v7/

Bene abbiamo tutto possiamo iniziare.

In Eclipse File->New e scegliamo l’ ultimo menu Other…; nella finestra apriamo la cartella  Android e poi scegliamo Android Project from Existing Code.
Nella successiva finestra clicchiamo su Browse… e andiamo a cercare il progetto appcompat nell’ sdk Android. I percorsi saranno diversi dal mio ma dovreste avere un path simile a questo:

{percorso diverso}/sdk/extras/android/support/v7/appcompat/

 

Cliccando su Finish  vedremo il progetto android-support-v7-appcompat nella lista dei nostri progetti. A volte seleziono la voce Copy project into workspace in modo tale che Eclipse copierà l’ intero progetto nel nostro workspace.  Scelgo questa opzione perchè quando consegno i sorgenti a clienti o a aziende inserisco anche il progetto android-support-v7-appcompat cosi che chi utilizzerà i sorgenti avrà tutto pronto senza dover scaricare e aggiungere nulla e i percorsi saranno relativi al nostro progetto o al workspace usato; oppure se spostate il progetto su altri pc non occorre una volta importato andare a cambiare il percorso delle librerie.

Adesso possiamo creare il nostro progetto Test.  Una volta creato andiamo ad aggiungere come libreria il progetto android-support-v7-appcompat.

Modifichiamo la nostra MainActivity

 

Come codice abbiamo finito. Per far funzionare ABC dobbiamo cambiare il tema di default. Possiamo farlo in due modi: cambiare il tema nel Manifest o modificare il tema principale. Vi consiglio di modificare il tema principale in modo tale che in futuro magari aggiungerete altre modifiche come il colore della barra etc.

Nel Manifest basta cambiare il tema scegliendo per esempio Theme.AppCompat.Light

Modificate il tema principale e lasciate invariato il tema nel Manifest quindi modifichiamo il file res/values/styles.xml

E’ giunto il momento di provare il nostro progetto. Io ho usato un Nexus One che ha ancora Android 2.3.6 e funziona correttamente.

Una cosa che forse non noterete subito è la mancanza della classica icona settings di default nei file di meni oppure se provate ad aggiunge altre icone personali al soft menu non funzioneranno. Per mostrare le icone si deve modificare il file menu/main.xml aggiungendo un namespace. Qui sotto il codice che mostra l’ icona settings.

E’ tutto ma nel prossimo tutorial vi spiegherò come utilizzare la nuova ActionBarCompact per modificare il titolo o aggiungere il classico tasto home/back.

Ho creato i progetti che per adesso potete scaricarli da questo link AppCompact

Mi raccomando per qualsiasi chiarimento commentate o scrivetemi su giuseppe.sorce@warpmobile.it

Read More