当前位置:主页 > 移动开发 > Android代码 >

Android图片等比例缩放和填充屏幕效果

时间:2020-12-04 03:16:15 | 栏目:Android代码 | 点击:

本文实例为大家分享了Android图片等比例缩放和填充屏幕的具体代码,供大家参考,具体内容如下

第一种方法:在ImageView的t同事设置两个属性

 android:adjustViewBounds="true"
 android:scaleType="fitXY

第二中方法:用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();
  }

 }

您可能感兴趣的文章:

相关文章