是否可以使用displayImage()设置ImageSize?

时间:2013-07-25 12:59:36

标签: android universal-image-loader

我对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方法声明目标大小?

3 个答案:

答案 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的回答一样切换到毕加索。我遇到了不稳定的情况,在异步请求完成之前,图像被弄乱了。毕加索从来没有这样。