2013-05-07 55 views
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资源,并且现在我已经清理/重置了该解决方案。必须有一些我错过或做错了。谢谢您的帮助。

回答

1

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

+0

谢谢,它修复了颜色引用。问题是,它现在不喜欢选择器,当它升级列表项视图.... – 2013-05-07 15:15:11

+0

你得到什么错误? – snowCrabs 2013-05-07 15:27:05

+0

我发现了这个问题,它是android:color =“@ color/###”这行,它应该是android:drawable =“@ color/###”。我的错!我将编辑我的原始文章以包含此内容。谢谢。 – 2013-05-07 16:24:46