colors.xml资源不起作用

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

  #00ff00  

我尝试使用…更新我的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有问题吗?

你应该使用它:

 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);