Android系统。从代码中更改FrameLayout的背景颜色

时间:2012-12-19 08:48:48

标签: java android xml user-interface

我正在尝试更改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中进行更改时的样子      Colors changed correctly

如果我尝试使用代码

,那就是正在发生的事情
 FrameLayout frameLayoutBalance = (FrameLayout)view.findViewById(R.id.frameLayoutBalance);
 frameLayoutBalance.setBackgroundColor(R.color.green);

Colors changed incorrectly

2 个答案:

答案 0 :(得分:10)

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

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

使用此frameLayoutBalance.setBackgroundColor(getResources()。getColor(R.color.green));

答案 1 :(得分:2)

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