colors.xml资源不起作用

我在Android应用程序的/res/values/colors.xml下创build了一个colors.xml文件。 内容是…

<?xml version="1.0" encoding="utf-8"?> <resources> <color name="Green">#00ff00</color> </resources> 

我尝试更新我的TableRow的背景使用…

  TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundColor(R.color.Green); 

这不是绿色,而是灰色。 无论我将什么值添加到colors.xml文件,它始终是相同的灰色。 然而,这确实有效…

  TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundColor(android.graphics.Color.GREEN); 

我的colors.xml有问题吗?

Solutions Collecting From Web of "colors.xml资源不起作用"

你应该使用这个:

 TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundColor(getResources().getColor(R.color.Green)); 

不幸的是,资源ID和颜色具有相同的types: int 。 您应该通过getColor()从资源中获取颜色值,并将该值用作颜色。 当您正在使用资源ID作为颜色。

尝试使用setBackgroundResource命令,即

 TableRow test = (TableRow)findViewById(R.id.tableRow2); test.setBackgroundResource(R.color.Green);