Вопрос

Я пытаюсь использовать ImageView как Button, и я хочу иметь возможность менять изображение при каждом нажатии кнопки.у меня есть OnClickListener установлено, но что мне делать, если палец пользователя больше не находится над кнопкой?Как вернуться к исходному изображению?

Это было полезно?

Решение

Вместо этого используйте это:

View.OnTouchListener
abstract boolean onTouch(View v, MotionEvent event)

параметр события сообщит вам, если это ACTION_DOWN или ACTION_UP

Другие советы

Правильный способ сделать это — расширить класс Button или, если вы хотите изменить только изображение кнопки, вы можете установить стиль с помощью 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top