如何使用color.xml文件中的颜色资源动态应用按钮背景颜色

时间:2012-04-24 09:44:33

标签: android button background-color

我正在尝试使用颜色资源文件(color.xml)中的颜色ID动态地将背景颜色应用于按钮。

  

btn.setBackgroundColor(R.color.green);

我也试过这个

btn.setBackgroundColor(Resources.getSystem().getColor(R.color.green));

但它不起作用。

如果我申请

btn.setBackgroundColor(Color.Green);

它的工作。

但我需要从color.xml文件中应用颜色资源。请让我知道我该怎么做。

2 个答案:

答案 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” (又称。将颜色重命名为颜色)