8

ドローアブルリソースとして定義されているカラーリソースにアクセスしたいのですが、JAVAで背景色を切り替えたいのですが、基本的にボタンの背景は下記のドローアブルXMLを使用して変更しました。ボタンにアクセスして色属性を変更してみましたが、ボタンの形が通常の正方形に変わりました。ドローアブルXMLで定義された形状を維持し、背景色を手動で変更したい。

<?xml version="1.0" encoding="UTF-8"?>

<item android:state_pressed="true">
    <shape android:shape="rectangle">
        <solid android:color="#EAEAEA" />

        <corners android:bottomLeftRadius="8dip"
             android:bottomRightRadius="1dip"
             android:topLeftRadius="1dip" 
             android:topRightRadius="8dip" />
    </shape>
    </item>

<item><shape android:shape="rectangle">
        <solid android:color="#EAEA00" />

        <corners android:bottomLeftRadius="8dip" 
            android:bottomRightRadius="1dip" 
            android:topLeftRadius="1dip" 
            android:topRightRadius="8dip" />
    </shape>
     </item>

4

3 に答える 3

6

2つの可能性があります:

  • myButton.setBackgroundColor(Color.CHOOSE_ONE);
  • myButton.setBackgroundResource(R.color.youCustomColor);

16進値から色を設定する場合は、Colorクラスの静的メソッドを使用するだけです。

myButton.setBackgroundColor(Color.parseColor("#RRGGBB"));
//http://developer.android.com/reference/android/graphics/Color.html#parseColor%28java.lang.String%29
于 2012-10-20T11:50:27.433 に答える
0

次のコードを使用して、ボタンの色を変更できます-

button.setBackgroundColor(Color.rgb(red, green, blue));

以下のリンクからRGB値を取得します-

http://www.ceveni.com/2009/08/set-rgb-color-codes-for-android-and-rgb.html

于 2012-10-20T12:45:03.377 に答える
0

リソースカラーを使用している場合は、おそらく次のように解決する必要がありますgetResources().getColor(R.color.example_color)

このオプションの場合、コードは次のようになります。

myButton.setBackgroundResource(getResources().getColor(R.color.example_color));
于 2014-09-10T18:16:50.500 に答える