android onclickuplistener de un botón de imageview?
-
12-09-2019 - |
Pregunta
Estoy intentando utilizar un ImageView
como Button
, y quiero ser capaz de cambiar la imagen cada vez que el botón es presionado. Tengo un conjunto OnClickListener
, pero ¿qué tengo que hacer al respecto, cuando el dedo del usuario ya no es hacia abajo, sobre el botón? ¿Cómo puedo volver a la imagen original?
Solución
El usuario de esta forma:
View.OnTouchListener
abstract boolean onTouch(View v, MotionEvent event)
el parámetro de evento le permitirá saber si su ACTION_DOWN
o ACTION_UP
Otros consejos
La forma correcta de hacer esto es extender clase Button o si sólo desea cambiar la imagen del botón se puede establecer un estilo de XML.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/btn_default_normal" />
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/btn_default_normal_disable" />
<item android:state_pressed="true"
android:drawable="@drawable/btn_default_pressed" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/btn_default_selected" />
<item android:state_enabled="true"
android:drawable="@drawable/btn_default_normal" />
<item android:state_focused="true"
android:drawable="@drawable/btn_default_normal_disable_focused" />
<item
android:drawable="@drawable/btn_default_normal_disable" />
</selector>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow