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
エリアよ大きくても小さくてもそのまま表示