android onclicklistener per un pulsante imageview?
-
12-09-2019 - |
Domanda
Sto cercando di utilizzare un ImageView
come Button
, e voglio essere in grado di cambiare l'immagine ogni volta che il pulsante è premuto. Ho un set OnClickListener
, ma cosa devo fare circa quando il dito dell'utente non è più in basso, sopra il pulsante? Come faccio a ripristinare l'immagine originale?
Soluzione
User questo, invece:
View.OnTouchListener
abstract boolean onTouch(View v, MotionEvent event)
il parametro dell'evento ti consente di sapere se il suo ACTION_DOWN
o ACTION_UP
Altri suggerimenti
Il modo corretto di fare questo è quello di estendere classe Button o se si desidera solo per cambiare l'immagine del pulsante è possibile impostare uno stile per 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow