您的位置:首页 > 移动开发 > Android开发

android图片等比例缩放 填充屏幕

2016-05-17 15:39 489 查看
转自:http://blog.csdn.net/x605940745/article/details/32325793  用于备忘

第一种方法:在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();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: