下面列出了com.bumptech.glide.load.resource.bitmap.RoundedCorners#com.jess.arms.http.imageloader.glide.GlideArms 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void loadImage(Context ctx, CommonImageConfigImpl config) {
Preconditions.checkNotNull(ctx, "Context is required");
Preconditions.checkNotNull(config, "ImageConfigImpl is required");
if (TextUtils.isEmpty(config.getUrl())) throw new NullPointerException("Url is required");
Preconditions.checkNotNull(config.getImageView(), "ImageView is required");
GlideRequests requests;
requests = GlideArms.with(ctx);//如果context是activity则自动使用Activity的生命周期
GlideRequest<Drawable> glideRequest = requests.load(config.getUrl());
//
switch (config.getCacheStrategy()) {//缓存策略
case 0:
glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL);
break;
case 1:
glideRequest.diskCacheStrategy(DiskCacheStrategy.NONE);
break;
case 2:
glideRequest.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
break;
case 3:
glideRequest.diskCacheStrategy(DiskCacheStrategy.DATA);
break;
case 4:
glideRequest.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC);
break;
default:
glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL);
break;
}
if (config.isCrossFade()) {
glideRequest.transition(DrawableTransitionOptions.withCrossFade());
}
if (config.isImageRadius()) {
glideRequest.transform(new RoundedCorners(config.getImageRadius()));
}
if (config.isBlurImage()) {
glideRequest.transform(new BlurTransformation(config.getBlurValue()));
}
if (config.getTransformation() != null) {//glide用它来改变图形的形状
glideRequest.transform(config.getTransformation());
}
if (config.getPlaceHolderDrawble() != null) {
glideRequest.placeholder(config.getPlaceHolderDrawble());
}
if (config.getPlaceholder() != 0)//设置占位符
glideRequest.placeholder(config.getPlaceholder());
if (config.getErrorPic() != 0)//设置错误的图片
glideRequest.error(config.getErrorPic());
if (config.getFallback() != 0)//设置请求 url 为空图片
glideRequest.fallback(config.getFallback());
if (config.getResizeX() != 0 && config.getResizeY() != 0) {
glideRequest.override(config.getResizeX(), config.getResizeY());
}
if (config.isCropCenter()) {
glideRequest.centerCrop();
}
if (config.isCropCircle()) {
glideRequest.circleCrop();
}
if (config.decodeFormate() != null) {
glideRequest.format(config.decodeFormate());
}
if (config.isFitCenter()) {
glideRequest.fitCenter();
}
glideRequest
.into(config.getImageView());
}
@Override
public void loadImage(Context ctx, CommonImageConfigImpl config) {
Preconditions.checkNotNull(ctx, "Context is required");
Preconditions.checkNotNull(config, "ImageConfigImpl is required");
if (TextUtils.isEmpty(config.getUrl())) throw new NullPointerException("Url is required");
Preconditions.checkNotNull(config.getImageView(), "ImageView is required");
GlideRequests requests;
requests = GlideArms.with(ctx);//如果context是activity则自动使用Activity的生命周期
GlideRequest<Drawable> glideRequest = requests.load(config.getUrl());
//
switch (config.getCacheStrategy()) {//缓存策略
case 0:
glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL);
break;
case 1:
glideRequest.diskCacheStrategy(DiskCacheStrategy.NONE);
break;
case 2:
glideRequest.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
break;
case 3:
glideRequest.diskCacheStrategy(DiskCacheStrategy.DATA);
break;
case 4:
glideRequest.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC);
break;
default:
glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL);
break;
}
if (config.isCrossFade()) {
glideRequest.transition(DrawableTransitionOptions.withCrossFade());
}
if (config.isImageRadius()) {
glideRequest.transform(new RoundedCorners(config.getImageRadius()));
}
if (config.isBlurImage()) {
glideRequest.transform(new BlurTransformation(config.getBlurValue()));
}
if (config.getTransformation() != null) {//glide用它来改变图形的形状
glideRequest.transform(config.getTransformation());
}
if (config.getPlaceHolderDrawble() != null) {
glideRequest.placeholder(config.getPlaceHolderDrawble());
}
if (config.getPlaceholder() != 0)//设置占位符
glideRequest.placeholder(config.getPlaceholder());
if (config.getErrorPic() != 0)//设置错误的图片
glideRequest.error(config.getErrorPic());
if (config.getFallback() != 0)//设置请求 url 为空图片
glideRequest.fallback(config.getFallback());
if (config.getResizeX() != 0 && config.getResizeY() != 0) {
glideRequest.override(config.getResizeX(), config.getResizeY());
}
if (config.isCropCenter()) {
glideRequest.centerCrop();
}
if (config.isCropCircle()) {
glideRequest.circleCrop();
}
if (config.decodeFormate() != null) {
glideRequest.format(config.decodeFormate());
}
if (config.isFitCenter()) {
glideRequest.fitCenter();
}
glideRequest
.into(config.getImageView());
}
public void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri) {
GlideArms.with(context).asBitmap().load(uri).placeholder(placeholder).override(resize, resize).centerCrop().into(imageView);
}
public void loadGifThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri) {
GlideArms.with(context).asBitmap().load(uri).placeholder(placeholder).override(resize, resize).centerCrop().into(imageView);
}
public void loadImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {
GlideArms.with(context).asBitmap().load(uri).override(resizeX, resizeY).priority(Priority.HIGH).into(imageView);
}
public void loadGifImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {
GlideArms.with(context).asBitmap().load(uri).override(resizeX, resizeY).priority(Priority.HIGH).into(imageView);
}