1

我有自定义后退箭头的问题。我想要一个红色箭头而不是默认箭头。我已经阅读了很多关于此的主题,但它不起作用。

所以我将我的样式放在 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 中设置相同的代码吗?

谢谢

4

2 回答 2

3

要在所有 API 中工作,您应该style.xmlvalues-v11values-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 级别。

于 2013-08-06T10:23:48.953 回答
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 中提取。它注释的 xml 项被旧的 Android 版本忽略。

于 2014-01-20T14:08:54.027 回答