我在我的 Android 应用程序中的/res/values/colors.xml 下创建了一个 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 有问题吗?
最佳答案
你应该改用这个:
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(getResources().getColor(R.color.Green));
不幸的是,资源 ID 和颜色具有相同的类型:int
。您应该通过 getColor()
从资源中获取颜色值并将该值用作颜色。当您使用资源 ID 作为颜色时。
关于java - colors.xml 资源不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641210/