在项目中配置Glide4
要想在项目中使用Glide4,需要先将这个库引入到我们的项目中,依赖方式如下:
implementation 'com.github.bumptech.glide:glide:4.4.0'
另外,Glide中需要使用网络权限,因此需要在清单文件中声明网络权限才行。
Glide4的使用
配置完成后,我们就可以使用Glide中的任意功能了。
加载图片
Glide4加载图片的方法与Glide3是一致的,只要通过以下方式就可以轻松的将图片加载到ImageView控件上了。
Glide.with(GlideTestActivity.this).load(imgUrl).into(iv);
RequestOptions
在Glide4中引入了一个RequestOptions对象,Glide4将许多Glide3中的Api操作都转移到这个对象中来,如占位图、缓存等操作,这样做的好处是可以使我们摆脱冗长的Glide加载语句。接下来我们来解析一下这个对象的用法。
1、占位图
Glide在加载图片时需要把图片从网络上下载下来,这个过程需要一定的时间,所以控件要等待一段时间才能把图片显示出来,在这个期间,我们可以使用一张占位图暂时替代直到目标图片加载完成再将其替换;另一种情况是图片加载失败而现实的异常占位图。而Glide就提供了占位图的功能。占位图的用法如下所示:
RequestOptions options = new RequestOptions()
.placeholder(R.mipmap.ic_launcher)//加载时的占位图
.error(R.drawable.img_error);//加载异常之后显示的占位图
Glide.with(GlideTestActivity.this).load(imgUrl).apply(options).into(iv);
2、指定图片的大小
实际上,使用Glide在大多数情况下我们是不需要指定图片大小的,因为Glide会根据ImageView的大小自动调节图片的大小以确保图片不会占用太多内存而引发OOM。但是如果你有这样的需求要指定图片的大小,Glide也提供了这个功能的支持。具体用法如下:
final RequestOptions options = new RequestOptions().override(180, 180);
Glide.with(GlideTestActivity.this).load(imgUrl).apply(options).into(iv);
当然,如果你不想压缩图片,你可以在override方法中传入Target.SIZE_ORIGINAL