Android ImageView高度自适应

来源:互联网 发布:c语言与接口这本书怎样 编辑:程序博客网 时间:2024/06/07 10:19

最近有个需求,是往一个LinearLayout中去添加ImageView,imageView是动态生成的,然后设置imageView的属性,但是不管怎么设置ScaleType,都达不到自己喜欢的状态, 显示原图大小的话会在ImageView的上下有留白,如图


初步猜想是由于原始照片比较大,然后缩放后ImageView的宽高还是原始图片的宽高,所以第一步我就想拿到图片显示的高度,这里有个Matrix,有兴趣的可以去看看,但是还是没有得到,但是在我要放弃的时候看到了一个属性ImageView.setAdjustViewBounds(true);,需要跟setMax宽或高配合用,用后效果如图

代码放在下头:

LayoutParams lParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);lParams.topMargin = 20;int size = pictures.length;for(int i=0;i<size;i++){ImageView img = new ImageView(this);img.setLayoutParams(lParams);img.setId(i);img.setMaxWidth(lParams.width);img.setAdjustViewBounds(true);img.setScaleType(ScaleType.FIT_CENTER);img.setOnClickListener(imClick);imgLoader.displayImage(pictures[i], img, imOption.getDetailImage());lin_group.addView(img);}




0 0
原创粉丝点击