Glide.with(mContext) .asBitmap() .load(imageUrl) .apply(options) //.into(mImageView); .into(mTarget); 下面在获取到下载图片尺寸信息后,基于图片宽高比,设置imageview宽高,给imageview 设置图片资源,
private SimpleTarget mTarget = new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) { int imageWidth = resource.getWidth(); int imageHeight = resource.getHeight(); int layoutWidth = mImageLayoutWidth; int layoutHeight = mRecyclerView.getLayoutParams().height; float imageRatio = (float) imageWidth / imageHeight; float layoutRatio = (float) layoutWidth / layoutHeight; int imageViewHeight = 0; int imageViewWidth = 0; if (imageRatio > layoutRatio) { imageViewWidth = layoutWidth; imageViewHeight = (int) ((float) layoutWidth / imageRatio); } else { imageViewHeight = mRecyclerView.getLayoutParams().height; imageViewWidth = (int) (imageRatio * imageViewHeight); } LogUtil.i(TAG + " mTarget.onResourceReady() imageWidth:" + imageWidth + " imageHeight:" + imageHeight + " imageViewWidth:" + imageViewWidth + " imageViewHeight:" + imageViewHeight + " layoutWidth:" + layoutWidth + " layoutHeight:" + layoutHeight); ViewGroup.LayoutParams para = mImageView.getLayoutParams(); para.height = imageViewHeight; para.width = imageViewWidth; mImageView.setImageBitmap(resource); } };