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);
}
};
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步