1.依赖
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
2.工具类
/**
* 加载 常规和gif 通用
*
* @param context
* @param imageView
* @param url 图片链接
* @param placeResId 默认占位图片
* @param errorResId 错误图片
*/
public static void loadImage(Context context, ImageView imageView, String url, int placeResId, int errorResId) {
/**常规和gif 通用*/
Glide.with(context).asDrawable().load(url).placeholder(placeResId).error(errorResId).into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
/**GifDrawable (gif图片类型)*/
if (resource instanceof GifDrawable) {
GifDrawable gifDrawable = (GifDrawable) resource;
imageView.setImageDrawable(gifDrawable);
gifDrawable.start();
} else {
/**常规图片*/
imageView.setImageDrawable(resource);
}
}
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable) {
/**加载错误图片*/
imageView.setImageDrawable(errorDrawable);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
/**占位图片*/
imageView.setImageDrawable(placeholder);
}
});
}