先说问题
在设置图片的大小的时候宽度固定,高度自适应
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的时候,图片的高度由宽度计算而来 可以按比例设置.