Я проверил вопрос. Вот шаги, которым я следую. Исходный код размещен на GitHub:
https://github.com/jiahaoliuliu/sherlockActionBarLab
Переопределите фактический стиль для устройств до v11.
Скопируйте и вставьте следующий код в файл styles.xml папки значений по умолчанию.
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Обратите внимание, что родитель может быть изменен на любую тему Шерлока.
Переопределите фактический стиль для устройств v11 +.
В той же папке, где находятся значения папок, создайте новую папку под названием values-v11. Android будет автоматически искать содержимое этой папки для устройств с API или выше.
Создайте новый файл с именем styles.xml и вставьте в него следующий код:
<?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>
Обратите внимание, что имя стиля должно совпадать с именем файла в папке значений по умолчанию, и вместо элемента homeAsUpIndicator он называется android: homeAsUpIndicator.
Проблема заключается в том, что для устройств с API 11 или выше, панель действий Sherlock использует панель действий по умолчанию, которая поставляется с Android, и ее ключ называется android: homeAsUpIndicator. Но для устройств с API 10 или ниже, Sherlock Action Bar использует свой собственный ActionBar, который в качестве индикатора «вверх» называется простым «homeAsUpIndicator».
Используйте новую тему в манифесте
Замените тему для приложения / действия в файле AndroidManifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >