Android圖片等比例縮放和填充屏幕效果

分類:IT技術 時間:2017-09-26

本文實例為大家分享了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();
  }

 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持電腦玩物。


Tags: displayMetrics 等比 scalew 縮放 image context

文章來源:


ads
ads

相關文章
ads

相關文章

ad