Ho verificato la domanda. Ecco i passaggi che seguo. Il codice sorgente è ospitato su GitHub:
https://github.com/jiahaoliuliu/sherlockActionBarLab
Sostituisci lo stile attuale per i dispositivi pre-v11.
Copia e incolla il seguente codice nel file styles.xml della cartella dei valori predefiniti.
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Nota che il genitore potrebbe essere cambiato in qualsiasi tema di Sherlock.
Sostituisci lo stile attuale per i dispositivi v11 +.
Nella stessa cartella in cui si trovano i valori della cartella, creare una nuova cartella denominata valori-v11. Android cercherà automaticamente il contenuto di questa cartella per dispositivi con API o superiore.
Crea un nuovo file chiamato styles.xml e incolla il seguente codice nel file:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="android:homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Nota che il nome dello stile deve essere lo stesso del file nella cartella dei valori predefiniti e invece dell'elemento homeAsUpIndicator, si chiama android: homeAsUpIndicator.
Il problema dell'articolo è dovuto al fatto che per i dispositivi con API 11 o successive, Sherlock Action Bar utilizza la Action Bar predefinita fornita con Android, il cui nome chiave è android: homeAsUpIndicator. Ma per i dispositivi con API 10 o inferiore, Sherlock Action Bar utilizza la propria ActionBar, che l'indicatore home as up è chiamato semplice "homeAsUpIndicator".
Usa il nuovo tema nel manifest
Sostituisci il tema per l'applicazione / attività nel file AndroidManifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >