Разница между кликабельными ImageView и ImageButton

Мне просто интересно, есть ли существенная разница между ImageView который настроен на кликабельность, по сравнению с ImageButton ?

Есть ли причина использовать один над другим? Есть ли ограничение на drawable для ImageButton которое оставляет ImageView как единственный возможный вариант?

Могу ли я потерять любую функциональность кнопки, если я ImageButton ImageView поверх ImageButton ?

Solutions Collecting From Web of "Разница между кликабельными ImageView и ImageButton"

Нет различий, кроме стиля по умолчанию. ImageButton у ImageButton есть ненулевой фон.

EDIT : Кроме того, ImageButton.onSetAlpha() всегда возвращает false, 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> 

ImageButton наследуется от ImageView

 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()); } 

Как @Micheal описать, я просто добавляю детали к его ответу

Эффект нажатия кнопки, когда я нажимаю, есть для кнопки изображения, но не для imageView.