目前来说Glide应该是现有的比较好用的一个图片加载类,不仅可以加载圆形图片,还可以加载GIF动图以及Video,而且内存占用率相对来说还比较低,综上,为了以后使用方便,特在此写一个关于Glide的简单的工具类
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.graphics.drawable.RoundedBitmapDrawable;
import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.target.BitmapImageViewTarget;
import com.team3.baby.R;
/**
* Created by XXX on 2017/6/1.
*/
public class ImageUtils {
/**
* 普通加载图片
*
* @param mContext 上下文
* @param url 图片地址
* @param imageView imageView控件
*/
public static void loadImageNormal(Context mContext, String url, ImageView imageView) {
Glide.with(mContext)
.load(url)
.placeholder(R.mipmap.ahahah)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
}
/**
* 加载圆形图片
*
* @param mContext 上下文
* @param url 图片地址
* @param imageView imageView控件
*/
public static void loadImageCircle(final Context mContext, String url, final ImageView imageView) {
Glide.with(mContext).load(url).asBitmap().centerCrop().into(new BitmapImageViewTarget(imageView) {
@Override
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(mContext.getResources(), resource);
circularBitmapDrawable.setCircular(true);
imageView.setImageDrawable(circularBitmapDrawable);
}
});
}
/**
* 加载GIF动图
*
* @param mContext 上下文
* @param url 图片地址
* @param imageView imageView控件
*/
public static void loadImageGIF(Context mContext, String url, ImageView imageView) {
Glide.with(mContext).load(url)
.asGif()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(imageView);
}
}