我有一个宽度为match_parent,高度为wrap_content的imageView。我想让图片宽度全屏,并保持高度比例。
我遵循这个链接( https://github.com/nostra13/Android-Universal-Image-Loader/pull/62),其中建议在我的imageView上设置adjustviewbounds和center_crop,并将imageScaleType设置为ImageScaleType.EXACTLY_STRETCHED。
所以我这样做:
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory()
.cacheOnDisc()
.showImageForEmptyUri(R.drawable.cache_waiting)
.showImageOnFail(R.drawable.cache_waiting)
.showStubImage(R.drawable.cache_waiting)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.build();
setAdjustViewBounds(true);
setScaleType(ScaleType.CENTER_CROP);
ImageLoader.getInstance().displayImage(img.getUrl(), this,defaultOptions);
使用这段代码后,大多数ImageView都是白色的。Logcat告诉我位图太大了(2560,1120)。如何在UIL中保持图像的比例。
谢谢。
ImageView
的位置? - nostra13CENTER_CROP
不是适合你的比例类型。使用默认比例类型,也许可以避免“位图过大”的问题。 - nostra13