Soruyu kontrol ettim. İşte izlediğim adımlar. Kaynak kodu GitHub'da barındırılıyor:
https://github.com/jiahaoliuliu/sherlockActionBarLab
V11 öncesi aygıtlar için gerçek stili geçersiz kılın.
Aşağıdaki kodu kopyalayıp varsayılan değerler klasörünün styles.xml dosyasına yapıştırın.
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
Üst öğenin herhangi bir Sherlock temasıyla değiştirilebileceğini unutmayın.
V11 + cihazları için gerçek stili geçersiz kılın.
Klasör değerlerinin bulunduğu klasörde, değerler-v11 adlı yeni bir klasör oluşturun. Android, API veya üstü cihazlar için bu klasörün içeriğini otomatik olarak arayacaktır.
Styles.xml adlı yeni bir dosya oluşturun ve aşağıdaki kodu dosyaya yapıştırın:
<?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>
Stil adının varsayılan değerler klasöründeki dosyayla aynı olması ve homeAsUpIndicator öğesi yerine android: homeAsUpIndicator olarak adlandırılması gerektiğini unutmayın.
Öğe sorunu, API 11 veya üstü cihazlarda Sherlock Action Bar'ın, Android ile birlikte gelen ve anahtar adının android: homeAsUpIndicator olan varsayılan Action Bar'ı kullanmasıdır. Ancak API 10 veya daha düşük sürümlere sahip cihazlar için Sherlock Action Bar, yukarı göstergesi olarak ana sayfaya basit "homeAsUpIndicator" adı verilen kendi ActionBar'ını kullanır.
Manifest'te yeni temayı kullanın
AndroidManifest dosyasındaki uygulama / etkinlik temasını değiştirin:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >