我有自定义后退箭头的问题。我想要一个红色箭头而不是默认箭头。我已经阅读了很多关于此的主题,但它不起作用。
所以我将我的样式放在res / values / styles.xml中。这是我的代码:
<style name="AppBaseTheme" parent="Theme.Sherlock.Light">
<item name="actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="homeAsUpIndicator">@drawable/btn_nav_retour</item>
</style>
我无法设置“android:homeAsUpIndicator”因为它需要api等级11而我的min sdk是9。
我应该在res / values-v11 / styles.xml中设置相同的代码吗?
THX
答案 0 :(得分:3)
要在所有API中使用,您应该在style.xml
和values-v11
文件夹中创建values-v14
。例如,在values-v14
中您应该使用:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="android:homeAsUpIndicator">@drawable/btn_nav_retour</item>
</style>
在默认的values
文件夹中,您应该使用ActionBarSherlock
提供的属性,但是对于更高的API级别,您应该坚持使用Android默认ActionBar
属性并将android:
放在前面他们。通过这种方式,它可以用于更高的API级别。
答案 1 :(得分:0)
作为接受答案的旁注: 如果您不想为两个API范围复制主题,可以在values / styles.xml中将这两个项目添加到AppBaseTheme中:
<style name="AppBaseTheme" parent="Theme.Sherlock.Light">
<item name="actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="homeAsUpIndicator">@drawable/btn_nav_retour</item>
<item name="android:homeAsUpIndicator" tools:targetApi="11">@drawable/btn_nav_retour</item>
</style>
targetApi-attribute可防止来自lint的错误消息。旧的Android版本会忽略它注释的xml项目。