我对https://github.com/nostra13/Android-Universal-Image-Loader库有疑问。
我正在使用imageLoader.displayImage(...)将数据库中的图像加载到listview中的图像视图。
文档说这个:
ImageSize targetSize = new ImageSize(120, 80); // result Bitmap will be fit to this size
imageLoader.loadImage(imageUri, targetSize, displayOptions, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
是否可以为imageLoader.displayImage方法声明目标大小?
答案 0 :(得分:2)
您可以使用方法:public void loadImage(String uri, ImageSize targetImageSize, DisplayImageOptions options, ImageLoadingListener listener)
设置ImageSize
参数。
下载的图像将被解码并缩放为比输入的targetImageSize 等于或大于(通常稍大)的位图。
答案 1 :(得分:1)
我建议您使用Picasso替代Universal-Image-Loader。它真正的时尚和性能非常好。它提供了很多Apis。您可以使用以下代码段声明目标大小。
Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
答案 2 :(得分:0)
我当前正在使用的是,与其使用ImageLoader设置图像的尺寸,不如使用scaleType = centerCrop;
话虽如此,我仍然建议您像@Vipul的回答一样切换到毕加索。我遇到了不稳定的情况,在异步请求完成之前,图像被弄乱了。毕加索从来没有这样。