我担心这是一个重复的问题,但我已经阅读了这三个问题,我仍然不知所措:
Setting background color from colours.xml throws invalid operation
How to define variable resource such as colours
Colour resource ID returning wrong value
我正在为列表视图创建一个选择器,并将项目视图的背景设置为此选择器。我希望选择器引用我在资源文件中定义的颜色,但是我无法识别颜色。
颜色资源文件:
// colors.xml .. path=Resources\color\colours.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=Resources\drawable\selector.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中引用的每种颜色,我将colour.xml设置为android资源,现在我已经清理/重置了几次解决方案。必须有一些我错过或做错的事情。谢谢你的帮助。
答案 0 :(得分:1)
尝试将颜色移动到路径Resources \ values \ Colors.xml