Universal Image Loader调整大小不按预期工作?

时间:2014-03-01 11:37:28

标签: android

到目前为止,我认为UIL api是迄今为止最好的!有大量JavaDoc和源代码可供使用的事实对于提供此功能的开发人员来说是一个真正的功劳。我的帖子的原因是我生成的图像大小与我要求的不匹配。敲门的是,我想放置生成的位图的视图相对于ImageView中的占位符缩略图大小爆炸。

我已经扩展了ImageViewAware,因此我可以使用当前包含在ImageView中的Drawable的固有高度和宽度,而不是ImageView尺寸本身,它们都设置为'wrap_content'。

固有宽度和高度返回为78 * 78,但即使我将这些大小提供给UIL,返回的生成位图的大小也是153 * 204?

package com.android.eyespy.helper;

import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.imageaware.ImageViewAware;

public class ImageViewDrawableAware extends ImageViewAware {

    public ImageViewDrawableAware(ImageView imageView) {
        super(imageView);
    }

    @Override
    public int getWidth() {
        Drawable drawable = imageViewRef.get().getDrawable();
        return drawable!=null ? drawable.getIntrinsicWidth() : super.getWidth();
    }

    @Override
    public int getHeight() {
        Drawable drawable = imageViewRef.get().getDrawable();
        return drawable!=null ? drawable.getIntrinsicHeight() : super.getHeight();
    }

    public boolean setImageBitmap(Bitmap bitmap) {
        ImageView imageView = imageViewRef.get();
        int viewWidth = imageView.getDrawable().getIntrinsicWidth();
        int viewHeight = imageView.getDrawable().getIntrinsicHeight();

        int bitmapWidth = bitmap.getWidth();
        int bitmapHeight = bitmap.getHeight();

        return super.setImageBitmap(bitmap);
    }
}

任何人都有任何想法为什么生成的位图尺寸与我期望的不匹配?

我用于在应用程序启动时设置ImageLoader的配置也在下面

DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheOnDisc(true)
.considerExifParams(true)
.build();        

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.build();

ImageLoader.getInstance().init(config);

由于

0 个答案:

没有答案