使用imageloader加载图片及缩放策略

本文探讨了在Android开发过程中,使用不同方式加载图片时出现的尺寸不一致问题。通过对比setImageResource与Universal Image Loader的不同处理机制,分析了图片加载过程中的尺寸调整策略,并给出了保持图片比例一致的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说问题

在设置图片的大小的时候宽度固定,高度自适应
int w = getActivity().getWindowManager().getDefaultDisplay().getWidth();
LayoutParams lp = new LayoutParams(w/4,android.widget.LinearLayout.LayoutParams.WRAP_CONTENT);
image1.setLayoutParams(lp);
image2.setLayoutParams(lp);

image1中使用setImageResource(int id)设置图片 fixXY
image2中使用imageloader加载图片,option中imagescaletype= exactly


问题出现了: 两张同样大小的图片加载之后大小不一致
疑问: 既然图片一致,为什么加载的不一样?

UIL加载图片的缩放策略

在UniversialImageLoader加载 中,先初始化imageloader中指定加载的最大图片的大小,在imageloader中根据imageview的大小来设定图片的大小,且图片的大小是按照图片本身的宽高比例记载出来的

在setImageResource中使用的是wrapper所以imageView的高度实际上是根据图片的大小来制定的,实际的imageView的的scaletype设置的为fixXY,所以加载后的图片宽高和原图片宽高的比例是不同的

两种设置方法不同所以造成了不同的效果

解决方法

在初始化LayoutParams的时候,图片的高度由宽度计算而来 可以按比例设置.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值