4

私の質問は、すべてのボタンが押されたイベントに画像オーバーレイを適用することと関係があります。そのため、たとえば、ホロ設定のAndroid 4.0以降では、いずれかのボタンを押すと、ボタンに水色のオーバーレイが表示されます。以前のバージョンのAndroidでは、オレンジ色です。セレクタータグとアイテムタグを使用して、XMLで押された、フォーカスされた、デフォルトの画像を変更するようにボタンを設定する方法を知っていますが、ボタンの別の画像を作成する必要がありますが、水色のオーバーレイを使用する必要があります。ボタンごとに2枚の写真があります。私のアプリにはたくさんのボタンがありますが、アプリのファイルサイズをできるだけ小さくしたいと思います。

質問のポイントは、設定したボタンの元の背景をそのままにして、すべてのボタンの押下にオーバーレイとして1つの画像(水色の25%の不透明度の画像)を適用する方法はありますか?

4

1 に答える 1

2

画像を読み込みます。次に、その上にアルファ色を描画します。

次に、変更した画像を使用して、[画像]ボタンを設定します。

Bitmap img = BitmapFactory.decodeFile(pathName); // or decodeResource  etc....

Canvas canvas = new Canvas(img);
Paint alphaPaint = new Paint();

// Color to apply.
alphaPaint.setColor(Color.BLUE);
alphaPaint.setAlpha(20);

// Draw rectangle over your image using the alpha colored paint.
canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), alphaPaint);
myButton.setImageBitmap(img );
于 2012-12-03T16:29:08.143 に答える