ক্লিকযোগ্য ইমেজভিউ এবং ইমেজবটনের মধ্যে পার্থক্য


149

আমি কেবল ভাবছি ImageViewযে কোনওটির সাথে তুলনাযোগ্য যে ক্লিকযোগ্য হতে সেট করা আছে তার মধ্যে কোনও উল্লেখযোগ্য পার্থক্য আছে ImageButton?

একে অপরকে ব্যবহার করার কোনও কারণ আছে কি? একমাত্র সম্ভাব্য বিকল্প হিসাবে ImageButtonছেড়ে যাওয়া চিত্রের জন্য অঙ্কনযোগ্য কি কোনও বাধা আছে ImageView?

আমি যদি ক্লিকযোগ্য ImageViewওভারের জন্য বেছে নিই তবে আমি কী সম্ভবত কোনও বোতামের কোনও কার্যকারিতা হারাব ImageButton?

উত্তর:


158

ডিফল্ট শৈলী ব্যতীত কোনও পার্থক্য নেই। ImageButtonডিফল্টরূপে একটি নন-নাল ব্যাকগ্রাউন্ড রয়েছে।

সম্পাদনা : এছাড়াও, ImageButton.onSetAlpha()পদ্ধতিটি সর্বদা মিথ্যা দেয়, scaleTypeসেট করা থাকে centerএবং এটি সর্বদা মনোনিবেশযোগ্য হিসাবে স্ফীত হয়।

এখানে ImageButtonডিফল্ট শৈলী:

 <style name="Widget.ImageButton">
     <item name="android:focusable">true</item>
     <item name="android:clickable">true</item>
     <item name="android:scaleType">center</item>
     <item name="android:background">@android:drawable/btn_default</item>
 </style>

1
আপনার উত্তরের জন্য ধন্যবাদ. কোডটি দিয়ে যাওয়ার সময় আপনি আমাকে যতটা স্পট করেছেন তার চেয়ে বেশি আপনি দিয়েছেন। আমার ধারণা, দিনের শেষের মধ্যে, 2 এর মধ্যে নির্বাচন কোনও বিন্যাস ছাড়াই আপনি কতটা ডিফল্ট বৈশিষ্ট্য ব্যবহার করতে পারেন তার উপর নির্ভর করবে।
yjw

আপনাকে স্বাগতম! হ্যাঁ, আসলে খুব বেশি পার্থক্য নেই, তাই পছন্দটি বোতামের মধ্যে নয় বরং বোতামের মধ্যে রয়েছে I
মাইকেল 16

20
প্রকৃতপক্ষে আমার অভিজ্ঞতার সাথে এই দুজনের মধ্যে আরও একটি পার্থক্য হ'ল আপনি যদি সেলটি নিজেই ক্লিকযোগ্য হিসাবে বজায় রাখার জন্য একটি তালিকাভিউ সেলে একটি ক্লিকযোগ্য বাটন রাখতে চান তবে আপনি চিত্রকল্পের সাথে আরও ভাল। টেক্সটভিউ এবং ইমেজভিউগুলি যখন না দেয় তখন এডিটেক্সটস এবং ইমেজব্যাটনগুলি স্পর্শ ইভেন্টটিকে গ্রাস করে বলে মনে হয়।
এর্নির এরলিংসন

আমি ক্লিকযোগ্য ইমেজভিউ ব্যবহার করেছি তবে নতুন প্রয়োজন অনুসারে আমাকে সেগুলি ইমেজবুটনে পরিবর্তন করতে হবে তবে ব্যবহৃত চিত্রটি ফুলে উঠবে। আমি কীভাবে ইমেজবটনে চিত্রের মুদ্রাস্ফীতি এড়াতে পারি?
কোডারাইডার

@ কোডরাইডার আমি নিশ্চিত না আপনি কী বলতে চাইছেন তা আমি বুঝতে পেরেছি। যদি এটির অবস্থানটি ImageViewআপনার মধ্যে যা ছিল তার থেকে আলাদা হয় এবং scaleTypeস্পষ্টভাবে নির্দিষ্ট করতে পারে ।
মাইকেল

24

ইমেজব্যাটনটি ইমেজভিউ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত

public class ImageButton extends ImageView {
public ImageButton(Context context) {
    this(context, null);
}

public ImageButton(Context context, AttributeSet attrs) {
    this(context, attrs, com.android.internal.R.attr.imageButtonStyle);
}

public ImageButton(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    setFocusable(true);
}

@Override
protected boolean onSetAlpha(int alpha) {
    return false;
}

@Override
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
    super.onInitializeAccessibilityEvent(event);
    event.setClassName(ImageButton.class.getName());
}

@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
    super.onInitializeAccessibilityNodeInfo(info);
    info.setClassName(ImageButton.class.getName());
}

@ মিশেল বর্ণনা হিসাবে আমি কেবল তার উত্তরে বিশদ যুক্ত করি


এটি ওপিতে বিভিন্ন প্রশ্নের উত্তর দেয় কীভাবে?
flawyte

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.