سؤال

أحاول استخدام 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top