programacion - manual de android en pdf
Diferencia entre ImageView e ImageButton seleccionables (3)
Me pregunto si hay alguna diferencia significativa entre un ImageView
que se pueda hacer clic, en comparación con un ImageButton
.
¿Hay alguna razón para usar uno sobre el otro? ¿Hay alguna restricción en el ImageButton
para un ImageButton
que deje a ImageView
como la única opción posible?
¿ ImageButton
funcionalidad de un botón si opto por hacer clic en ImageView
sobre ImageButton
?
El efecto de un clic de botón cuando hago clic está allí para imagebutton pero no para imageView.
ImageButton se hereda de 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());
}
como @Micheal describo, solo agrego detalles a su respuesta
No hay diferencias, excepto el estilo predeterminado. ImageButton
tiene un fondo no nulo por defecto.
EDITAR : Además, el método ImageButton.onSetAlpha()
siempre devuelve falso, scaleType
se establece en el center
y siempre se infla como enfocable.
Aquí está el estilo predeterminado de 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>