0

私はxmlに形を持っています:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <corners android:topLeftRadius="8dip"
        android:topRightRadius="8dip"
        android:bottomLeftRadius="8dip"
        android:bottomRightRadius="8dip"/>
</shape>

この形をボタンの形にしたい。しかし、私が宣言するとき:

button.setBackgroundDrawable(the shape)

後でボタンの色を変更できません。それは常に私に黒い背景を与え、私は色を動的に変更したい. 私は試した:

button.getBackground().setColorFilter(color, PorterDuff.Mode.MULTIPLY);

影響はありません。ありがとう。

4

2 に答える 2

0

私は両方を試しました.....

GradientDrawable bgShape =(GradientDrawable)b1.getBackground();

bgShape.setColor(Color.GREEN);

また

b1.getBackground()。setColorFilter(Color.GREEN、Mode.MULTIPLY);

また

b1.getBackground()。setColorFilter(Color.parseColor( "#bbb000")、Mode.DARKEN);

于 2012-07-29T00:47:23.110 に答える
0

これがうまくいくかどうかはわかりませんが、試してみてください。わたしにはできる:

 button.getPaint().setColor(Color.GREEN);

その後、明らかに「GREEN」を他の色に変更できます。Androidはデフォルトとしてすべての色を使用するわけではなく、赤、青、緑、黄色などの原色と主色のみを使用することに注意してください。

お役に立てれば!

于 2012-07-28T23:52:13.110 に答える