【问题标题】:how to apply button background color dynamically using color resources in color.xml file如何使用 color.xml 文件中的颜色资源动态应用按钮背景颜色
【发布时间】:2012-05-04 22:39:22
【问题描述】:

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

btn.setBackgroundColor(R.color.green);

我也试过了

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

但它不起作用。

如果我申请

btn.setBackgroundColor(Color.Green);

它的工作。

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

【问题讨论】:

    标签: android button background-color


    【解决方案1】:

    你应该使用这个:

    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>  
    

    **编辑 现在 getColor() 已被弃用:

    ContextCompat.getColor(context, R.color.color_name)
    

    【讨论】:

      【解决方案2】:

      在 values create xml 下,将您的自定义颜色添加到该颜色。 现在你可以写 R.color."name" (又名。将颜色重命名为颜色)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-26
        • 1970-01-01
        • 1970-01-01
        • 2019-05-16
        • 1970-01-01
        • 2013-06-24
        • 2017-08-31
        • 1970-01-01
        相关资源
        最近更新 更多