Si queremos que nuestro botón cambie de estado mediante imagenes en la interface, aquí os dejo en ejemplo para que lo compiléis en Android Studio.
-Tenéis que descargar las imágenes y colocarlas en la carpeta DRAWABLE con los nombres "click" y "click_previo"
https://cdn1.iconfinder.com/data/icons/business-cursor/512/click-512.png ( click_previo )
https://cdn2.iconfinder.com/data/icons/gestures-2/32/one-finger-double-tap-512.png ( click )
-Después, crear un archivo:
- Copia el siguiente código y pégalo en la nueva pestaña creada:
<item android:state_enabled="false" android:drawable="@drawable/click_previo" />
<item android:state_pressed="true" android:drawable="@drawable/click" />
-Crea un boton de 250dp x 250dp en tu LAYOUT:
- Y asignale el nuevo arcivo XML como BACKGROUND. Compila y acciona el botón.
Puedes compilar sin codigo JAVA y veras cómo cambia el estado del botón al accionarlo
-Si lo que queremos es hacer en JAVA, aquí va el código dentro el ONCREATE:
btn=(Button)findViewById(R.id.id_boto);
btn.setBackgroundResource(R.drawable.click_previo);
btn.setOnTouchListener(new View.OnTouchListener() {
@Override public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
btn.setBackgroundResource(R.drawable.click);
}
if (event.getAction() ==MotionEvent.AXIS_PRESSURE){
btn.setBackgroundResource(R.drawable.click);
}
else {
btn.setBackgroundResource(R.drawable.click_previo);
}
return false;
}
});
Saludos!!!!