首页 > 代码库 > 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(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。