使用 ActionBarSherlock 定義自定義 ActionBar 樣式(繼承 Widget.Sherlock.Light.ActionBar.Solid),API 14 正常但 API 10 顯示為 Holo Light 風格。根本原因:Holo 主題及 ActionBar 為 Android 3.0 (API 11) 引入,API 10 (Android 2.3) 不原生支持。
android:background、android:titleTextStyle)需對應兼容屬性(無 android: 前綴)。android: 前綴屬性,導致低版本忽略樣式,回退到默認模擬風格。<style name="ActionBar.Shappy.Red" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
<!-- 去掉 android: 前綴,使用 Sherlock 兼容屬性 -->
<item name="background">#ffb70000</item>
<item name="titleTextStyle">@style/ActionBar.Title.Shappy.Red</item>
</style>
background 而非 android:background),Sherlock 會自動映射到各版本對應實現。Toolbar + AppCompat,棄用 Sherlock。minSdkVersion,若為 10 需全面測試兼容性。理解版本屬性差異,Sherlock 主題兼容不再迷茫。