ฉันตรวจสอบคำถามแล้ว นี่คือขั้นตอนที่ฉันทำตาม ซอร์สโค้ดโฮสต์บน GitHub:
https://github.com/jiahaoliuliu/sherlockActionBarLab
แทนที่สไตล์จริงสำหรับอุปกรณ์ pre-v11
คัดลอกและวางรหัสติดตามในไฟล์ styles.xml ของโฟลเดอร์ค่าเริ่มต้น
<resources>
<style name="MyCustomTheme" parent="Theme.Sherlock.Light">
<item name="homeAsUpIndicator">@drawable/ic_home_up</item>
</style>
</resources>
โปรดทราบว่าผู้ปกครองสามารถเปลี่ยนเป็นธีม Sherlock ได้
แทนที่สไตล์จริงสำหรับอุปกรณ์ 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>
หมายเหตุ tha ชื่อของสไตล์จะต้องเหมือนกับไฟล์ในโฟลเดอร์ค่าเริ่มต้นและแทนที่จะเป็นรายการ homeAsUpIndicator รายการจะเรียกว่า android: homeAsUpIndicator
ปัญหารายการเป็นเพราะสำหรับอุปกรณ์ที่มี API 11 ขึ้นไป Sherlock Action Bar จะใช้ Action Bar เริ่มต้นซึ่งมาพร้อมกับ Android ซึ่งชื่อคีย์คือ android: homeAsUpIndicator แต่สำหรับอุปกรณ์ที่มี API 10 หรือต่ำกว่านั้น Sherlock Action Bar จะใช้ ActionBar ของตัวเองซึ่งตัวบ่งชี้สถานะ up up นั้นเรียกว่า "homeAsUpIndicator" อย่างง่าย
ใช้ชุดรูปแบบใหม่ในไฟล์ Manifest
แทนที่ธีมสำหรับแอ็พพลิเคชัน / กิจกรรมในไฟล์ AndroidManifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyCustomTheme" >