La forma que yo conozco es haciendo una animación, no se si has usado animaciones antes, sino debes crear una carpeta anim dentro de res, y crear un archivo .xml con el nombre que quieras, el codigo seria algo asi:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/imagenquecambialpulsar"
android:state_pressed="true" />
<item android:drawable="@drawable/imagenInicial" />
</selector>
En el layout colocas la imagen y le das la opcion de background de esta animacion.
android:background="@anim/boton"