Glide的RequestOptions

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();
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值