2012-09-07 12 views
7

私自身の色を使って私のFrameLayoutの背景色を設定しようとしています。android:カスタムカラーの使い方は?

私自身の色を含む.xmlファイルを作成しました。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="red">#FF0000</color> 
    <color name="orange">#FF7D00</color> 
    <color name="yellow">#FFFF00</color> 
    <color name="green">#00FF00</color> 
    <color name="blue">#00B4FF</color> 
    <color name="black">#000000</color> 
</resources> 

そして、ここでImは背景色を設定しようとしているコードがあるが、私はアプリを実行すると、FrameLayoutはなぜ?:

FrameLayout MyFrameLayout = new FrameLayout(this); 
LayoutParams MyFrameLayoutParam = new LayoutParams(LayoutParams.FILL_PARENT, 200); 
MyFrameLayout.setLayoutParams(MyFrameLayoutParam); 

MyFrameLayout.setBackgroundColor(R.color.red); 

Parent.addView(MyFrameLayout); 

答えて

9

あなたは必要、常にグレーです: はここにありますリソースを設定する前にリソースから色を取得します。実際の値ではなくR.java idを割り当てています。あなたはここに例setBackgroundResource(カラー)

を使用することができます

Color red = getApplicationContext().getResources().getColor(R.color.red) 
MyFrameLayout.setBackgroundColor(red); 
+0

R.id.redの代わりにR.color.redだと思います。 – vincentp

+0

Yup、good find。 – tsmith

0

android:color="@color/orange"

relativelayout.setBackgroundResource(R.color.green);

2

XMLでカスタムカラーを使用するには、次のようなものを使用します

3

T彼はボタンの背景を緑色にし、あなたが望む色のヘックスを見つけます。

yourButton.setBackgroundColor(Color.parseColor( "#25b72f"));

関連する問題