2

カラーリソースファイル(color.xml)のカラーIDを使用して、ボタンに背景色を動的に適用しようとしています。

btn.setBackgroundColor(R.color.green);

私もこれを試しました

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

しかし、それは機能していません。

私が申請すれば

btn.setBackgroundColor(Color.Green);

その作業。

しかし、color.xml ファイルからカラー リソースを適用する必要があります。どうすればできるか教えてください。

4

2 に答える 2

7

これを使用する必要があります:

btn.setBackgroundColor(getResources().getColor(R.color.Green));

そして2番目の方法:

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)
于 2012-04-24T09:47:23.187 に答える
0

値の下で色と呼ばれるxmlを作成し、カスタム色をそれに追加します。これで、R.color."name" と書くことができます (別名、色を色に変更)

于 2012-04-24T09:51:55.480 に答える