概述
目录
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初始化配置
6. Glide的RequestOptions
6.1 RequestOptions的API:
官方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
6.2 设置占位图
网络慢时图片加载不出来,需要设置默认图片;
//延时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);
6.3 设置错误图片
网络连接错误或者加载的路径错误,需要设置错误时显示的图片;
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);
6.4 淡入淡出动画
必须导入:
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);
6.5 图片大小减小剪裁
必须添加:centerCrop()或fitCenter()才可以;
- centerCrop()是将图片按照比例放大到imageview的尺寸;
- fitCenter()是将图片按照比例缩小到imageview的尺寸;
options = new RequestOptions().override(100, 100).centerCrop();
Glide.with(context).load(imageUrl).apply(options).into(imageView);
6.6 圆形图片
方法一:
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);
6.7 缩略图
方法一:
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);
6.8 缓存设置
skipMemoryCache :
true 关闭内存缓存,false 打开内存缓存
diskCacheStrategy:
DiskCacheStrategy.NONE 关闭磁盘缓存
DiskCacheStrategy 的枚举意义:
- DiskCacheStrategy.NONE: 表示不缓存任何内容。
- DiskCacheStrategy.DATA: 表示只缓存原始图片。
- DiskCacheStrategy.RESOURCE: 表示只缓存转换过后的图片。
- DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
- DiskCacheStrategy.AUTOMATIC: 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。
//关闭内存缓存和磁盘缓存
options = new RequestOptions().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE);
Glide.with(context).load(imageUrl).apply(options).into(imageView);
6.9 优先级设置
Priority的枚举:
- Priority.LOW
- Priority.NORMAL
- Priority.HIGH
- Priority.IMMEDIAT
options = new RequestOptions().priority(Priority.HIGH);
Glide.with(context).load(imageUrl).apply(options).into(imageView);
6.10 清空缓存
//清空内存缓存,要求在主线程中执行
Glide.get(mContext).clearMemory();
//清空磁盘缓存,要求在后台线程中执行
Glide.get(mContext).clearDiskCache();
最后
以上就是糊涂狗为你收集整理的Android图片缓存框架 - Glide的RequestOptions (四)的全部内容,希望文章能够帮你解决Android图片缓存框架 - Glide的RequestOptions (四)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复