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有问题吗?

  • 如何在android XML中连接多个string?
  • selectableItemBackground作为layer-list中的项目
  • 色调/暗淡触摸
  • Android中的dynamic与XML布局?
  • 如何向自定义属性添加文档?
  • Android:最佳XML解析库?
  • 如何使用XML绘制一个带圆angular的矩形?
  • 错误:解析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);