目录
1. Glide API
2. Glide导入包
3. Glide 7种加载图片方式
4. 取消加载
5 Glide加载GIF
6. Glide的RequestOptions
6.1 RequestOptions的API:
6.2 设置占位图
6.3 设置错误图片
6.4 淡入淡出动画
6.5 图片大小减小剪裁
6.6 圆形图片
6.7 缩略图
6.8 缓存设置
6.9 优先级设置
6.10 清空缓存
7. Glide自定义圆角
8. RequestBuilder
9. Glide设置Listener
10 Glide初始化配置
官方API:https://muyangmin.github.io/glide-docs-cn/javadocs/400/com/bumptech/glide/request/RequestOptions.html
参考设置:https://muyangmin.github.io/glide-docs-cn/doc/options.html
网络慢时图片加载不出来,需要设置默认图片;
//延时1秒
Thread.sleep(1000);
String imageUrl = "http://img.ivsky.com/img/tupian/pre/201806/20/dengta-008.jpg";
ImageView imageView = (ImageView) findViewById(R.id.img_show);
RequestOptions options = new RequestOptions().placeholder(R.mipmap.img1);
Glide.with(getApplicationContext()).load(imageUrl).apply(options).into(imageView);
网络连接错误或者加载的路径错误,需要设置错误时显示的图片;
String errorUrl = "https://timgsa.baidu.com/24243.jpg";
ImageView imageView = (ImageView) findViewById(R.id.img_show);
RequestOptions options = new RequestOptions().placeholder(R.mipmap.img1).error(R.mipmap.img_error);
Glide.with(getApplicationContext()).load(errorUrl).apply(options).into(imageView);
必须导入:
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
/**
* 记得导入:import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
*/
Glide.with(context).load(imageUrl).transition(withCrossFade()).into(imageView);
必须添加:centerCrop()或fitCenter()才可以;
options = new RequestOptions().override(100, 100).centerCrop();
Glide.with(context).load(imageUrl).apply(options).into(imageView);
方法一:
options = new RequestOptions().placeholder(R.mipmap.img1).error(R.mipmap.img_error).circleCrop();
Glide.with(context).load(imageUrl).apply(options).into(imageView);
方法二:
Glide.with(context).load(imageUrl).apply(RequestOptions.circleCropTransform()).into(imageView);
方法一:
RequestBuilder builder = Glide.with(context).asDrawable().thumbnail(/*sizeMultiplier=*/ 0.25f);
Glide.with(context).load(imageUrl).thumbnail(builder).load(/*缩略图路径*/imageUrl2).into(imageView);
方法二:
Glide.with(context).load(imageUrl).thumbnail(/*sizeMultiplier=*/ 0.25f).load(imageUrl2).into(imageView);
skipMemoryCache :
true 关闭内存缓存,false 打开内存缓存
diskCacheStrategy:
DiskCacheStrategy.NONE 关闭磁盘缓存
DiskCacheStrategy 的枚举意义:
//关闭内存缓存和磁盘缓存
options = new RequestOptions().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE);
Glide.with(context).load(imageUrl).apply(options).into(imageView);
Priority的枚举:
options = new RequestOptions().priority(Priority.HIGH);
Glide.with(context).load(imageUrl).apply(options).into(imageView);
//清空内存缓存,要求在主线程中执行
Glide.get(mContext).clearMemory();
//清空磁盘缓存,要求在后台线程中执行
Glide.get(mContext).clearDiskCache();