Come molti di voi sapranno, il controllo ActionBar di una applicazione Android può essere configurato per prevedere una "navigazione all'indietro" (Up Navigation) da una Activity a un'altra, purché quest'ultima sia stata configurata come parent.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<application> <!-- Activity principale --> <activity android:name="com.example.myfirstapp.MainActivity" ... </activity> <!-- Activity dipendente --> <activity android:name="com.example.myfirstapp.DisplayMessageActivity" android:label="@string/title_activity_display_message" android:parentActivityName="com.example.myfirstapp.MainActivity"> <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.myfirstapp.MainActivity" /> </activity> </application> |
Per una guida completa alla Up Navigation rimandiamo all'apposita pagina della documentazione ufficiale. Ricorderemo solo che, per visualizzare l'icona, è necessario impostare correttamente il metodo setDisplayHomeAsUpEnabled() nel seguente modo:
1 2 3 4 |
@Override public void onCreate(Bundle savedInstanceState) { getActionBar().setDisplayHomeAsUpEnabled(true); } |
Questo comando provocherà la visualizzazione di una icona di navigazione sul lato sinistro della ActionBar dell'Activity.
Per sostituire l'icona con un drawable personalizzato è sufficiente inserire questa dichiarazione all'interno del proprio theme:
1 |
<item name="android:homeAsUpIndicator">@drawable/ic_custom_indicator</item> |
Il file dove inserire questa istruzione è solitamente /values/styles.xml , ma può essere anche /values/themes.xml o un altro file, a seconda di come avete organizzato la vostra applicazione. Nel caso in cui vogliate supportare anche API inferiori alla 11 il contenuto di cui sopra andrà inserito nel file presente nella cartella /values-v11/ , mentre nella cartella /values/ andrà utilizzata la sintassi compatibile con le API meno recenti:
1 |
<item name="homeAsUpIndicator">@drawable/ic_custom_indicator</item> |
Di seguito vi proponiamo due archivi .rar contenenti alcune icone di esempio per la personalizzazione del vostro homeAsUpIndicator: in entrambi i casi si tratta di icone chiare, da utilizzare quindi per una ActionBar che abbia un background color di colore scuro.
Felice sviluppo!