2009-08-07 10 views
1

Ich versuche, eine ImageView als Button zu verwenden, und ich möchte in der Lage sein, das Bild zu ändern, wenn die Taste gedrückt wird. Ich habe eine OnClickListener eingestellt, aber was muss ich tun, wenn der Finger des Benutzers nicht mehr gedrückt ist, über die Taste? Wie kann ich zum Originalbild zurückkehren?android onclickuplistener für eine Bildansicht Taste?

Antwort

1

Benutzer diese statt:

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

die Ereignisparameter lassen Sie wissen, ob seine ACTION_DOWN oder ACTION_UP

3

Der richtige Weg, dies zu tun, ist Button-Klasse zu verlängern oder, wenn Sie das ändern wollen button image kannst du einen Stil per XML setzen.

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