2013-05-07 99 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