color.xml 资源不起作用
我在 Android 应用程序的 /res/values/colors.xml 下创建了一个 color.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);
这不会将其设置为绿色,而是灰色。无论我向 color.xml 文件添加什么值,它始终是相同的灰色。然而这确实有效...
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(android.graphics.Color.GREEN);
我的colors.xml 有问题吗?
I created a colors.xml file in my Android app under /res/values/colors.xml. The contents are...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="Green">#00ff00</color>
</resources>
I try to update the background of my a TableRow using...
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(R.color.Green);
This does not set it as green, it is gray instead. No matter what values I add to the colors.xml file, it is always the same gray color. However this does work...
TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(android.graphics.Color.GREEN);
Is something wrong with my colors.xml?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该改用它:
不幸的是,资源 ID 和颜色具有相同的类型:
int
。您应该通过 getColor() 从资源中获取颜色值,并将该值用作颜色。当您使用资源 ID 作为颜色时。You should use this instead:
Its unfortunate that resource ID and color have same type:
int
. You should get color value from resources viagetColor()
and use that valu as color. While you are using resource ID as color.尝试使用命令 setBackgroundResource,即
Try instead using the command setBackgroundResource, ie