Button をデフォルトで透明な背景で描画し、押されたときに暗い青色の背景で描画し、選択されたときに明るい青色の背景で描画したいと思います。Button.setSelected(!Button.isSelected())
ボタンの背景を下のセレクターに設定し、ボタンがクリックされたときに呼び出しています。押された状態は適切に機能しますが、ボタンを選択すると透明な背景で描画されます。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/tranpsshape" />
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/tranpsshape" />
<item android:state_pressed="true" android:drawable="@drawable/pressedbuttonshape" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/selectedshape" />
<item android:state_enabled="true" android:drawable="@drawable/tranpsshape" />
<item android:state_focused="true" android:drawable="@drawable/tranpsshape" />
<item android:state_selected="true" android:drawable="@drawable/selectedshape" />
<item android:drawable="@drawable/tranpsshape" />
</selector>
selectedshape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#A3DAF2"/>
</shape>
押されたボタン形状.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#4ABDE8/>
</shape>
tranpsshape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#00000000"/>
</shape>