下面的width代表的是item的宽度,
我这里的想法是:图片如果比item的宽度大,那么就把图片缩放,图片如果比item的小,那么就把图片放大,高度根据
宽度缩放的比例进行等比例缩放,
1,获取item的宽度
2,获取图片的宽度,高度
3,计算出要缩放的比例
4,把图片进行缩放
5,设置item的高度(宽度不用变,我这里的高度就是根据宽度缩放比例的缩放的)
6,设置图片
Glide.with(mcontext).load(imgurl.get(position)).asBitmap().into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) { imgwidth = bitmap.getWidth(); imgheight = bitmap.getHeight(); if(imgwidth>width){ //大于宽度按比例缩小 scle = (width/imgwidth); }else if(imgwidth<width){ //小于宽度,图片放大 scle =(width/imgwidth); } /* * bitmap按比例缩放 * */ Matrix matrix = new Matrix(); matrix.postScale(scle,scle); //缩放的比例 bitmap = Bitmap.createBitmap(bitmap,0,0,(int)imgwidth,(int)imgheight,matrix,true); /* * 获取新的bitmap的高度,设置item的高度就ok了 * */ ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams(); lp.height = bitmap.getHeight(); holder.itemView.setLayoutParams(lp); //设置图片 holder.iv.setImageBitmap(bitmap); } });
如果各位发现错误,欢迎告知版权声明:本文为qq_35270692原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。