답변:
기본 스타일을 제외하고는 차이가 없습니다. ImageButton
기본적으로 null이 아닌 배경이 있습니다.
편집 : 또한 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>
ImageView
지정할 수 있습니다 scaleType
.
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이 설명 할 때 나는 그의 대답에 세부 사항을 추가합니다.
클릭 할 때 버튼 클릭의 효과는 imagebutton에는 있지만 imageView에는 없습니다.