ボタンの状態が押されたときとデフォルトとしてもう1つを使用する前に、2つのドローアブルを使用します。だから私は単純な効果のためだけに穴の新しい画像を作成しています!だから今私は尋ねています...
ボタンが押されたときに描画可能なボタンに適用(カラーフィルターまたは任意の効果)することは可能ですか?
ボタンが標準の灰色の背景の場合、onClick
ボタンのメソッドにフィルターを適用して色を変更できます...
import android.graphics.PorterDuff;
button.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY); //Green
後でフィルタをクリアするには:
button.getBackground().clearColorFilter();
私はそれを行うための最良の方法を見つけました!
Drawable drawableNotPressed = button.getBackground();
Drawable drawable = drawableNotPressed.getCurrent();
//use a filter
drawable.setColorFilter(0xF00, Mode.MULTIPLY);
StateListDrawable listDrawable = new StateListDrawable();
listDrawable.addState(new int[] { android.R.attr.state_pressed }, drawable);
listDrawable.addState(new int[] { android.R.attr.defaultValue }, drawableNotPressed );
button.setBackgroundDrawable(listDrawable);
et 出来上がり!
setOn*Listener メソッドの 1 つでボタンのスタイルを変更することができます。