ImageViewで画像表示
使い道は、画像表示
ImageViewで画像表示するには
まず、レイアウトファイルでImageViewを定義する
次に、Javaで処理
mImageView = (ImageView)findViewById(R.id.imageview); findViewById(R.id.scaleCenter).setOnClickListener(this); findViewById(R.id.scaleFitCenter).setOnClickListener(this); findViewById(R.id.scaleFitEnd).setOnClickListener(this); findViewById(R.id.scaleFitStart).setOnClickListener(this); findViewById(R.id.scaleFitXY).setOnClickListener(this); findViewById(R.id.scaleFitMatrix).setOnClickListener(this);
次に、クリックイベントの設定
public void onClick(View v){
switch(v.getId()){
case R.id.scaleCenter:
mImageView.setScaleType(ImageView.ScaleType.CENTER);
break;
case R.id.scaleFitCenter:
mImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
break;
case R.id.scaleFitEnd:
mImageView.setScaleType(ImageView.ScaleType.FIT_END);
break;
case R.id.scaleStart:
mImageView.setScaleType(ImageView.ScaleType.FIT_START);
break;
case R.id.scaleFitXY:
mImageView.setScaleType(ImageView.ScaleType.FIT_XY);
break;
case R.id.scaleMatrix:
Matrix mtrx = new Matrix();
mImageView.setScaleType(ScaleType.MATRIX);
matrix.postRotate(90.0f, mImageView.getWidth()/3, mImageView.getHeight()/2);
mImageView.setImageMatrix(mtrx);
break;
}
}
ScaleTypeをセットすることで
画像の表示方法を設定できる
今回はボタンにセットすることで
画像表示方法を変えている
定数とその意味は
CENTER
サイズを変更せずにエリアの中央へ表示
CENTER_CROP
エリアの横幅まで画像を拡大し
中央へ表示
FIT_CENTER
エリアの縦幅まで画像を拡大、
中央へ表示
FIT_END
エリアの縦幅まで画像を拡大し
右端に寄せて表示
FIT_START
エリアの縦幅まで画像を拡大、
左端に寄せて表示
FIT_XY
エリア全体に画像を拡大して表示
MATRIX
エリアよ大きくても小さくてもそのまま表示