区分ImageButton和ImageView?

时间:2017-10-23 06:52:31

标签: java android xml android-layout

ImageView和ImageButton之间有点混乱。我认为两者都具有相同的XML属性。如果我使用ImageView而不是ImageButton对应用程序有任何影响吗?

2 个答案:

答案 0 :(得分:1)

只有默认样式才是ImageButton&的区别。 ImageView的。默认情况下,ImageButton具有非null背景。 ImageButton的默认属性:

  • ImageButton.onSetAlpha()方法始终返回false。
  • 它的scaleType设置为居中,
  • 它总是充满焦点。

答案 1 :(得分:0)

显示一个按钮,其中包含可由用户按下或单击的图像(而不是文本)。默认情况下,ImageButton看起来像常规Button,标准按钮背景在不同按钮状态下改变颜色。按钮表面上的图像由XML元素中的android:src属性或setImageResource(int)方法定义。

Src ImageButton

ImageButton继承自ImageView。默认情况下,Image按钮将imageButtonStyle作为样式。看看ImageButton的源代码

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 defStyleAttr) {
    this(context, attrs, defStyleAttr, 0);
}

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

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

@Override
public CharSequence getAccessibilityClassName() {
    return ImageButton.class.getName();
}
}