RecycleView使用glide显示图片,对图片进行缩放

xiaoxiao2021-02-28  89

下面的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); } }); 如果各位发现错误,欢迎告知
转载请注明原文地址: https://www.6miu.com/read-34782.html

最新回复(0)