Когда вы определяете ImageButton на макете, вы можете установить разные изображения для разных состояний: нормальное, выбранное и нажатое; с использованием отображаемого состояния, определенного в xml, например (btn_state.xml
в каталоге res / drawable):
<?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/btn_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/btn_selected" />
<item
android:drawable="@drawable/btn_normal" />
</selector>
Конечно, вам нужны эти btn_normal, выбранные и нажатые как PNG в вашей директории рисования.
На вашем <ImageButton>
затем вы задаете имя ресурса в качестве фона:
<ImageButton
...
android:background="@drawable/btn_state"
... />