android - الفرق بين الزر مع الصورة و ImageButton و ImageView القابل للنقر؟




(5)

هل هناك فرق بين Button الصورة ، ImageButton و ImageView القابل للنقر؟


Answers

ربما لا يغطي هذا سوى جزء من الاختلافات ، فمن المفيد النظر إلى شجرة مصدر Android لمعرفة ما يحدث بالضبط.

لدى ImageButtons حالات دفع ، حيث لا تكون الصورة قابلة للنقر. لا يمكنك أيضًا استدعاء setText لـ ImageButton ، يمكنك باستخدام زر عادي.

انهم جميعا مشتقة من العرض ، ولكن النظر في سلسلة تمتد التالية قد يساعد قليلا.

java.lang.Object
↳ android.view.View
   ↳ android.widget.ImageView
       ↳ android.widget.ImageButton

مقابل

java.lang.Object
↳ android.view.View
   ↳ android.widget.TextView
       ↳ android.widget.Button

ImageView = Display Images (android:src)

ImageButton = Diaplay imageView Images as imageView and get click effect as button (android:src) and can't set text to it.

Button = set text and (android:background)

جانب آخر غير مذكور في الإجابات السابقة هو الاستخدام داخل (على سبيل المثال) عرض عنصر قائمة. إذا قمت بتضمين زر أو ImageButton ، فلن تتلقى بقية عنصر القائمة أحداث اللمس. ولكن إذا كنت تستخدم ImageView ، فستقوم بذلك.


الاختلافات يمكن أن تكون خفية. الطريقة الأكثر مباشرة لفهم هذا هي البدء بالنظر إلى المستندات. إذا نظرت إلى مستندات الزر ، يمكنك رؤية أن Button مشتق من TextView . ImageButton على الجانب الآخر مشتق من ImageView . بشكل أساسي ، يمكن أن يحتوي Button على نص ويكون قابلاً للنقر ، في حين أن ImageButton أكثر مرونة قليلاً في كيفية تعيين الصورة. لديها طرق من الطبقة الأساسية ImageView مثل setImageURI الذي لا Button . أحد الاختلافات بين هذين وهما فقط ImageView سهل هو أنه يمكن أن يكون لديك حالات الزر التي يتم شرحها في كل من Button و ImageButton المستندات.


تأثير النقر فوق زر عند النقر هناك لصورة ولكن ليس للصور.





android button imagebutton