用xml很好实现,但是项目中要用到动态new出Imageview,所以用代码直接new Imageview。用了好多方法没有实现,如:
ImageView photo=new ImageView(mContext);
RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(100,200);
photo.setLayoutParams(param);
暂时解决不了,用了一种替代方法:把imageview里面的bitmap进行缩放到固定长宽:
// 得到图片原始的高宽
int rawHeight = tmpBitmap.getHeight();
int rawWidth = tmpBitmap.getWidth();
// 设定图片新的高宽
int newHeight = 200;
int newWidth = 100;
// 计算缩放因子
float heightScale = ((float) newHeight) / rawHeight;
float widthScale = ((float) newWidth) / rawWidth;
// 新建立矩阵
Matrix matrix = new Matrix();
matrix.postScale(heightScale, widthScale);
Bitmap resizeBmp =Bitmap.createBitmap(tmpBitmap,0,0,rawWidth,rawHeight,matrix,true);
resizeBmp是就是缩放后的图,效果实现还可以。