2012-12-19 116 views
1

我試圖用res/values/colors.xml中的顏色使用Paint.setColor(),但它一直呈現「灰色」。如果我使用字符串文字,並使用Paint.parseColor(),它會正確顯示。這是怎麼回事?Android XML顏色顯示爲灰色?

的onDraw()

p.setColor (Color.parseColor ("#82ef82")); // <- this works 
p.setColor (R.color.PeaGreen); // <- this is gray 

colors.xml

<color name="PeaGreen">#82ef82</color> 

回答

2

​​並不出彩,它是一個顏色資源的資源ID。但是由於顏色由整數表示,資源標識也是如此,所以不會引發任何警告或錯誤。你需要做的工作一點點地從一個資源ID獲得實際的顏色:

p.setColor(context.getResources().getColor(R.color.PeaGreen)); 

也有在Color類中定義的一些顏色常量,你可以使用它們像這樣:

p.setColor(Color.RED); 
+0

謝謝,你真的很棒。我應該更清楚地知道。 – wufoo