10

我正在尝试更改 FramyLayout 的背景颜色。颜色在变,但是换错了。

但是,如果我通过 XML 执行它,它工作正常。

这是我的 res/values/colors.xml 代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="grey">#888888</color>
    <color name="white">#FFFFFF</color>
    <color name="red">#ffff3448</color>
    <color name="green">#ff408c3a</color>
</resources>

这是我在 XML 中进行更改时的样子 颜色正确更改

如果我尝试使用代码执行此操作,就会发生这种情况

 FrameLayout frameLayoutBalance = (FrameLayout)view.findViewById(R.id.frameLayoutBalance);
 frameLayoutBalance.setBackgroundColor(R.color.green);

颜色更改不正确

4

2 回答 2

12

你不应该使用 frameLayoutBalance.setBackgroundColor(R.color.green);

setBackgroundColor 需要颜色(即 Chirag Raval 所描述的值)而不是颜色资源。

使用这个 frameLayoutBalance.setBackgroundColor(getResources().getColor(R.color.green));

于 2012-12-19T08:51:30.567 回答
3

使用此代码 frameLayoutBalance.setBackgroundColor(Color.parseColor("#00aacc"));

于 2012-12-19T08:58:49.063 回答