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?

¿Fue útil?

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
scroll top