本文实例为大家分享了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();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。