将颜色定义为android的mono资源



我担心这是一个重复的问题,但我已经阅读了这三个问题,我仍然不知道:

在colors .xml中设置背景色会引发无效操作

如何定义可变资源,如colors

颜色资源ID返回错误值

我正在为列表视图创建一个选择器,并将项目视图的背景设置为此选择器。我希望选择器引用我在资源文件中定义的颜色,但我无法识别颜色。

colors资源文件:

// colors.xml .. path=Resourcescolorcolours.xml
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
    <color name="background_default">#FFFFFFFF</color>
    <color name="background_highlighted">#FFE9E9E9</color>
    <color name="list_separator">#FFE6E6E6</color>
    <color name="highlight">#FF00AEEE</color>
    <color name="font_dark">#FF333333</color>
    <color name="font_light">#FF808080</color>
</resources>

选择器:

// selector.xml .. path=Resourcesdrawableselector.xml
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:state_pressed="false"
        android:state_selected="false"
        android:drawable="@color/background_default" />
    <item
        android:state_pressed="false"
        android:state_selected="true"
        android:drawable="@color/background_highlighted" />
    <item
        android:state_pressed="true"
        android:drawable="@color/highlight" />
</selector>

在项目视图中,我使用如下:

android:background="@drawable/selector"

我得到3个错误,说没有找到与给定名称匹配的资源(在'color'与值'@color/background_default')。对于在selector.xml中引用的每种颜色,我已经将color .xml设置为android资源,并且现在我已经清理/重置了几次解决方案。肯定是我遗漏了什么或者做错了什么。谢谢你的帮助。

尝试将颜色移动到路径Resourcesvalues colors .xml

最新更新