سؤال

أعتقد أن هذا سؤال غريب ، لكنني حاولت إعداد OnClickListener على صورة ImageView وقد نجحت. لكن المشكلة هي أن المستخدم لا يمكن أن يشعر بالنقر. أعني إذا كان بعض من u قد عمل على ضواحي متنقلة أخرى (مثل Apple iPhone) ، فعندما نضغط على صورة في ضواحي أخرى ، فإنها تعطي تأثيرًا على الصورة حتى يتمكن المستخدم من فهم أنه تم النقر على الصورة.

لقد حاولت تعيين ألفا باستخدام setalpha الطريقة لكنها لا تعمل. على الرغم من أن نفس الشيء يعمل بشكل جيد على تنفيذ OnFocusListener. هل يمكن أن يقترح Some1 طريقة مختلفة لتعديل الصورة عند النقر ...

أنا جديد على Android ، لذا لم أتعلم الفروق الدقيقة في الرسوم المتحركة البسيطة أيضًا ... إذا كان هناك أي رسوم متحركة بسيطة يمكنني استخدامها لنفسه ، فالرجاء إعلامي.

شكرًا!

هل كانت مفيدة؟

المحلول

   <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.5"
android:duration = "300">
</alpha>
<scale
android:fromXScale = "1"
android:toXScale = "0.9" 
android:fromYScale = "1"
android:toYScale = "0.9" 
android:pivotX="50%"
android:pivotY="50%" 
android:duration = "50">
</scale>
</set>

لا أعرف ما إذا كانت هذه هي الطريقة الصحيحة ولكن تحديد الرسوم المتحركة كما ذكرت الحيلة. الآن علينا فقط أن نعطي

public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(Context, R.anim.image_click));
//Your other coding if present
}

في طريقة Onclick وسيكون التغيير مرئيًا ...

نصائح أخرى

ستحتاج إلى استخدام رسم يمكن رسمه يحتوي على صور مختلفة للحالات المختلفة التي تريد دعمها. هذا مثال:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/img_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/img_focused" />
    <item android:drawable="@drawable/img_at_rest" />
</selector>

قم بتسمية هذا الملف img.xml أو شيء ما ووضعه في دليل الرسم الخاص بك ، ثم قم بتعيين صورة ImageView على img.xml. @drawable/img_at_rest هي الصورة الأصلية التي تحاول استخدامها @drawable/img_pressed و @drawable/img_focused هي الصور لاستخدامها لحالات كل منها. يمكنك أيضًا استخدام ألوان صلبة بدلاً من الصور إذا كانت مناسبة لحالة الاستخدام الخاصة بك.

Anim/Anim_Item.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha
    android:fromAlpha="0.0"
    android:toAlpha="1."
    android:duration="1000">
  </alpha>
</set>

و أضف:

myView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.anim_item));

لست متأكدًا مما إذا كان يعمل ، لكن هل حاولت setselected ()http://developer.android.com/reference/android/widget/imageview.html#setselected(boolean)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top