0
我很担心,这是一个重复的问题,但我看了这三个问题,我仍处于亏损状态:颜色定义资源单为Android
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/background_default')。对于selector.xml中引用的每种颜色,我都将colour.xml设置为一个android资源,并且现在我已经清理/重置了该解决方案。必须有一些我错过或做错了。谢谢您的帮助。
谢谢,它修复了颜色引用。问题是,它现在不喜欢选择器,当它升级列表项视图.... – 2013-05-07 15:15:11
你得到什么错误? – snowCrabs 2013-05-07 15:27:05
我发现了这个问题,它是android:color =“@ color/###”这行,它应该是android:drawable =“@ color/###”。我的错!我将编辑我的原始文章以包含此内容。谢谢。 – 2013-05-07 16:24:46