2013-03-26 111 views
0

在我的應用程序中,我有很多控件在更改可繪製狀態時應該更改它們的文本顏色。 Android提供了一種方法 - 顏色狀態列表。對於每種顏色狀態列表我要創建一個單獨的XML文件,像這樣:我可以在單個XML文件中定義多個ColorStateLists嗎?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:color="#398ede" android:state_pressed="true"/> 
    <item android:color="#808080"/> 
</selector>

有什麼辦法,以避免創建於每種顏色狀態列表一個單獨的文件,並在一個文件中定義它們呢?

回答

0

你現在一定找到了答案,但爲了再次來到這個鏈接的人,我們是這樣做的。

如果您有一個資源文件中定義多種顏色這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="xBlack">#FF000000</color> 
<color name="xYellow">#FFFFFF00</color> 
</resources> 

你需要把這個文件下的值(而不是顏色) 要訪問值,您需要使用:

dummy_button_id.setBackgroundColor(getResources().getColor(R.color.xBlack)); 
+0

是的,這個工程,但只有「簡單」的顏色,而不是狀態列表。如果你嘗試像這樣定義多個顏色狀態列表,最終會出現AAPT錯誤。我問這個問題之前問這個問題:) – Grishka 2014-03-23 10:57:41

+0

你有沒有找到一種方法呢? – Manish 2014-03-23 15:00:22

+0

不幸的是沒有。 – Grishka 2014-03-23 19:42:17

相關問題