2017-10-23 18 views
-2

ImageViewとImageButtonの間で少し混乱します。両方とも、ほとんど同じXML属性を持っていると思います。 ImageButtonの代わりにImageViewを使用すると、アプリケーションに影響はありますか?ImageButtonとImageViewを区別しますか?

+0

ImageButtonはデフォルトでヌル以外の背景を持っています。それ以外は違いはありません。 –

+0

それらの間に違いがない場合、両方が分離される理由#peter haddad –

+0

ImageViewの場合、clickeventのonClickプロパティを追加する必要があります。しかしImageButtonは、ボタンのプロパティを提供するので、それを必要としません。 –

答えて

1

ImageButton & ImageViewの違いは、デフォルトのスタイルのみです。 ImageButtonには、デフォルトではnull以外の背景があります。 ImageButtonの デフォルトプロパティ:

  • ImageButton.onSetAlpha()メソッドは常にfalseを返します。
  • スケールタイプが中央に設定されていて、
  • 常にフォーカスが入るように膨張します。
0

ユーザーが押したりクリックしたりできる画像(テキストではなく)を表示します。デフォルトでは、ImageButtonは通常のボタンのように見え、異なるボタン状態の間に色が変化する標準的なボタンの背景があります。ボタンのサーフェス上のイメージは、XML要素のandroid:src属性またはsetImageResource(int)メソッドのいずれかで定義されます。

のSrc ImageButton

のImageButtonがImageViewのから継承しています。デフォルトでは、イメージボタンはスタイルとして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(); 
} 
} 
関連する問題