Android OnClickuplistener لزر ImageView؟
-
12-09-2019 - |
سؤال
أحاول استخدام ImageView
ك Button
, ، أريد أن أكون قادرا على تغيير الصورة كلما ضغط الزر. انا لدي OnClickListener
اضبط، ولكن ما يجب علي فعله حوله عندما يكون إصبع المستخدم لم يعد، على الزر؟ كيف أعود إلى الصورة الأصلية؟
المحلول
المستخدم هذا بدلا من ذلك:
View.OnTouchListener
abstract boolean onTouch(View v, MotionEvent event)
سوف تسمح لك معلمة الحدث معرفة ما إذا كان ACTION_DOWN
أو ACTION_UP
نصائح أخرى
الطريقة الصحيحة للقيام بذلك هي تمديد فئة الزر أو إذا كنت ترغب فقط في تغيير صورة الزر، يمكنك تعيين نمط بواسطة 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>
لا تنتمي إلى StackOverflow