使用universal-image-loader加载圆形图片的方法

来源:互联网 发布:linux can bus off 编辑:程序博客网 时间:2024/05/17 03:36

1.CircleBitmapDisplayer .java

package com.baxian.qingjia.utils;
import android.graphics.Bitmap;
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
import com.nostra13.universalimageloader.core.display.BitmapDisplayer;
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
import com.nostra13.universalimageloader.core.imageaware.ImageViewAware;
/**
 *  显示原型图片的ImageLoader使用的显示器
 */
public class CircleBitmapDisplayer implements BitmapDisplayer {
    protected  final int margin ;
    public CircleBitmapDisplayer() {
        this(0);
    }
    public CircleBitmapDisplayer(int margin) {
        this.margin = margin;
    }
    @Override
    public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
        if (!(imageAware instanceof ImageViewAware)) {
            throw new IllegalArgumentException("ImageAware should wrap ImageView. ImageViewAware is expected.");
        }
        imageAware.setImageDrawable(new CircleDrawable(bitmap, margin));
    }
}

2.其他地方

DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.drawable.app_icon1)  //图片加载时候显示的图片
                .showImageOnFail(R.drawable.app_icon1)    //图片加载失败时候显示的图片
                .showImageForEmptyUri(R.mipmap.app_icon)   //图片的url为空的时候显示的图片
                .cacheInMemory(true)    //是否缓存在内存中
                .cacheOnDisk(true)    //是否缓存在硬盘中
                .displayer(new CircleBitmapDisplayer())    //显示圆形图片
                .build();

  ImageLoader.getInstance().displayImage(url, iv, options);

1 0