私は次のような関数を使用しました
void setHighlighted(boolean highlight) {
button.setBackgroundResource( highlight
? R.drawable.bbg_pressed
: R.drawable.button_background);
}
ここで、button_background は で定義されたセレクターです
button_backgroung.xml
。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/bbg_pressed"></item>
<item android:state_focused="true" android:drawable="@drawable/bbg_selected"></item>
<item android:drawable="@drawable/bbg_normal"></item>
</selector>
つまり、このコードは、Android フレームワークで使用される押された状態に干渉しません。代わりに、ボタンが押されたように見えるように背景を変更します。