2011-03-18 128 views
0

我想在android中为表格设置背景颜色,并且无法引用正确的int。以下是代码。难道我做错了什么?在背景中出现的颜色是浅灰色。在android中设置颜色

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="app_name">Trackfolio</string> 
    <color name="colorWhite">#FFFFFF</color> 
    <color name="colorBlack">#000000</color> 
    <color name="colorLightBlue">#6495ED</color> 
</resources> 

row.setBackgroundColor(R.color.colorLightBlue); 

还有没有办法设置文本颜色?

tv.setTextColor(R.color.colorBlack); 

回答

2

cfarm54,

您正在访问的颜色你得到在R.java根文件偏移位置的方式。

您需要访问他们这样......

Resources res = context.getResources(); 
row.setBackgroundColor(res.getColor(R.color.high_priority)); 
0

糟糕,我应该在引用颜色资源时使用tableRow.setBackgroundResource()。

0

尝试setBackgroundResource(int color)。使用setBackgroundColor使用R.color.colorLightBlue用来引用您定义的颜色的int,并尝试将其解析为颜色,而不是检索引用的颜色。

+0

怎么样的文本颜色? – locoboy 2011-03-18 19:55:52

+0

看起来像@ willytate的方法应该工作。只需使用'setTextColor(getResources()。getColor(R.color.colorLightBlue));'/未经测试 – kcoppock 2011-03-18 20:37:33