Frage

Ich versuche, eine ImageView als Button zu verwenden, und ich möchte in der Lage sein, das Bild zu ändern, wenn die Schaltfläche gedrückt. Ich habe einen OnClickListener Satz, aber was habe ich zu tun, wenn der Finger des Benutzers nicht mehr nach unten, über die Schaltfläche? Wie kann ich auf das Originalbild wiederherstellen?

War es hilfreich?

Lösung

User diese stattdessen:

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

die Ereignisparameter lassen Sie wissen, ob seine ACTION_DOWN oder ACTION_UP

Andere Tipps

Der richtige Weg, dies zu tun, ist Button-Klasse erweitern oder wenn Sie auf die Schaltfläche Bild ändern möchten, können Sie einen Stil von xml gesetzt.

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top