Ich habe die Frage überprüft. Hier sind die Schritte, denen ich folge. Der Quellcode wird auf GitHub gehostet:
https://github.com/jiahaoliuliu/sherlockActionBarLab
Überschreiben Sie den tatsächlichen Stil für Geräte vor Version 11.
Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei styles.xml des Ordners mit den Standardwerten ein.
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Beachten Sie, dass das übergeordnete Element in ein beliebiges Sherlock-Thema geändert werden kann.
Überschreiben Sie den tatsächlichen Stil für die v11 + -Geräte.
Erstellen Sie in demselben Ordner, in dem sich die Ordnerwerte befinden, einen neuen Ordner mit dem Namen values-v11. Android sucht automatisch nach dem Inhalt dieses Ordners für Geräte mit API oder höher.
Erstellen Sie eine neue Datei mit dem Namen styles.xml und fügen Sie den folgenden Code in die Datei ein:
<?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>
Beachten Sie, dass der Name des Stils mit der Datei im Standardwertordner übereinstimmen muss und anstelle des Elements homeAsUpIndicator android: homeAsUpIndicator heißt.
Das Problem besteht darin, dass die Sherlock-Aktionsleiste für Geräte mit API 11 oder höher die Standard-Aktionsleiste verwendet, die mit Android geliefert wird. Der Schlüsselname lautet android: homeAsUpIndicator. Für Geräte mit API 10 oder niedriger verwendet die Sherlock Action Bar eine eigene ActionBar, die als "homeAsUpIndicator" bezeichnet wird.
Verwenden Sie das neue Thema im Manifest
Ersetzen Sie das Thema für die Anwendung / Aktivität in der AndroidManifest-Datei:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >