Sprawdziłem pytanie. Oto kroki, które wykonuję. Kod źródłowy znajduje się na GitHub:
https://github.com/jiahaoliuliu/sherlockActionBarLab
Zastąp rzeczywisty styl urządzeń starszych niż 11.
Skopiuj i wklej poniższy kod w pliku styles.xml folderu wartości domyślnych.
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Pamiętaj, że rodzic można zmienić na dowolny motyw Sherlocka.
Zastąp rzeczywisty styl urządzeń v11 +.
W tym samym folderze, w którym znajdują się wartości folderu, utwórz nowy folder o nazwie values-v11. Android automatycznie wyszuka zawartość tego folderu w przypadku urządzeń z interfejsem API lub nowszym.
Utwórz nowy plik o nazwie styles.xml i wklej następujący kod do pliku:
<?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>
Pamiętaj, że nazwa stylu musi być taka sama jak plik w folderze wartości domyślnych, a zamiast elementu homeAsUpIndicator nazywa się android: homeAsUpIndicator.
Problem polega na tym, że w przypadku urządzeń z interfejsem API 11 lub nowszym pasek akcji Sherlock korzysta z domyślnego paska akcji dostarczanego z systemem Android, którego kluczową nazwą jest android: homeAsUpIndicator. Ale w przypadku urządzeń z API 10 lub niższym pasek akcji Sherlock wykorzystuje własny pasek ActionBar, który wskaźnik home up nazywa się prostym „homeAsUpIndicator”.
Użyj nowego motywu w manifeście
Zamień motyw aplikacji / działania w pliku AndroidManifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >