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 に答える