颜色.xml资源不起作用

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

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

我尝试使用...

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

这不会将其设置为绿色,而是灰色。无论我向颜色.xml文件添加什么值,它始终是相同的灰色。但是,这确实有效...

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

我的颜色有问题.xml吗?


答案 1

您应该改用以下命令:

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

不幸的是,资源 ID 和颜色具有相同的类型:。您应该通过从资源中获取颜色值,并将该值用作颜色。使用资源 ID 作为颜色时。intgetColor()


答案 2

请尝试使用命令 setBackgroundResource,即

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

推荐