Android APP開發活用範例速查大辭典(Ch0131-使用ImageView來顯示資源檔圖片並透過按鈕來設定顯示模式)
GUI-XML片段
<ImageView android:id=”@+id/ImageView” android:layout_width=”match_parent” android:layout_height=”match_parent” android:src=”@drawable/ic_launcher” />
|
程式碼片段
public void onClick(View v) { // mImageView.setImageResource(R.id.ImageView); switch (v.getId()) { case R.id.btnScaleCenter: mImageView.setScaleType(ImageView.ScaleType.CENTER); break;
case R.id.btnScaleFitCenter: mImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); break;
case R.id.btnScaleFitEnd: mImageView.setScaleType(ImageView.ScaleType.FIT_END); break;
case R.id.btnScaleFitStart: mImageView.setScaleType(ImageView.ScaleType.FIT_START); break;
case R.id.btnScaleFitXY: mImageView.setScaleType(ImageView.ScaleType.FIT_XY); break;
case R.id.btnScaleMatrix: Matrix mtrx = new Matrix(); mImageView.setScaleType(ScaleType.MATRIX); mtrx.postRotate(90.0f, mImageView.getWidth() / 3, mImageView.getHeight() / 2); mImageView.setImageMatrix(mtrx); break;
} }
|
XML VS code 顯示圖片模式對應(資料來源:http://ikevin.tw/?p=670)
//按照圖片原尺寸顯示,居中顯示。 android:scaleType=”center” imageView.setScaleType(ImageView.ScaleType.CENTER);
//按照比例擴大或縮小圖片居中顯示,比較長的寬或高會被裁到。 android:scaleType=”centerCrop” imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//按照圖片完整居中顯示。 android:scaleType=”centerInside” imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
//按照圖片比例縮放到ImageView的寬度,居中顯示。 android:scaleType=”fitCenter” imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
//按照圖片比例縮放到ImageView的寬度,以圖片的底部顯示。 android:scaleType=”fitEnd” imageView.setScaleType(ImageView.ScaleType.FIT_END);
//按照圖片比例縮放到ImageView的寬度,以圖片的頂部顯示。 android:scaleType=”fitStart” imageView.setScaleType(ImageView.ScaleType.FIT_START);
//不按照圖片比例縮放到ImageView的大小。 android:scaleType=”fitXY” imageView.setScaleType(ImageView.ScaleType.FIT_XY);
//用矩陣來繪製圖片。 android:scaleType=”matrix”
|