Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android圖片等比例縮放 填充屏幕

android圖片等比例縮放 填充屏幕

編輯:關於Android編程

用IamgeView的 android:scaleType 設置屬性的時候 填充屏幕出現的各種問題

	/**
	 * 將圖片等比例縮放 setAdjustViewBounds setMaxWidth setMaxWidth必須同時設置才有效
	 * 
	 * @param context
	 * @param view
	 *            父容器
	 * @param image
	 *            圖片控件
	 * @param source
	 *            圖片資源
	 */
	public static void setImageViewMathParent(Activity context, LinearLayout view,
			ImageView image, int source) {
		Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
				source);
		DisplayMetrics displayMetrics = new DisplayMetrics();
		context.getWindowManager().getDefaultDisplay()
				.getMetrics(displayMetrics);
		float scalew = (float) displayMetrics.widthPixels
				/ (float) bitmap.getWidth();
		image.setScaleType(ScaleType.MATRIX);
		Matrix matrix = new Matrix();
		image.setAdjustViewBounds(true);
		if (displayMetrics.widthPixels < bitmap.getWidth()) {
			matrix.postScale(scalew, scalew);
		} else {
			matrix.postScale(1 / scalew, 1 / scalew);
		}
		image.setMaxWidth(displayMetrics.widthPixels);
		float ss = displayMetrics.heightPixels > bitmap.getHeight() ? displayMetrics.heightPixels
				: bitmap.getHeight();
		image.setMaxWidth((int) ss);
		view.addView(image);
		if (bitmap != null && bitmap.isRecycled()) {
			bitmap.recycle();
		}

	}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved