我正在尝试使用颜色资源文件(color.xml)中的颜色ID动态地将背景颜色应用于按钮。
btn.setBackgroundColor(R.color.green);
我也试过这个
btn.setBackgroundColor(Resources.getSystem().getColor(R.color.green));
但它不起作用。
如果我申请
btn.setBackgroundColor(Color.Green);
它的工作。
但我需要从color.xml文件中应用颜色资源。请让我知道我该怎么做。
答案 0 :(得分:7)
你应该用这个:
btn.setBackgroundColor(getResources().getColor(R.color.Green));
和第二种方式:
Resources resources = YourActivity.this.getResources();
Drawable drawable = resources.getDrawable(R.color.Green);
btn.setBackgroundDrawable(drawable);
你的color.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="red">#f00</drawable>
<drawable name="green">#0f0</drawable>
<drawable name="gray">#ccc</drawable>
</resources>
答案 1 :(得分:0)
在创建名为colors的xml值下,将自定义颜色添加到该颜色。 现在你可以写R.color。“name” (又称。将颜色重命名为颜色)