将颜色定义为android中的mono资源

时间:2013-05-07 10:35:06

标签: colors xamarin.android selector android-resources

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

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资源,现在我已经清理/重置了几次解决方案。必须有一些我错过或做错的事情。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

尝试将颜色移动到路径Resources \ values \ Colors.xml