Android-Glide进阶用法 - 简书
取消加载
一般情况下,因为Glide有做生命周期感知,所以不会使用打取消加载的API。可以了解一下,示例代码:
Glide.with(fragment).clear(imageView);
占位符(Placeholder)
占位符是当请求正在执行时被展示的Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable,则占位符将被持续展示。类似地,如果请求的url/model为 null,并且 error Drawable和 fallback都没有设置,那么占位符也会继续显示。分享一下官方文档上的用法:
占位符用法1
Glide.with(fragment)
.load(url)
.placeholder(R.drawable.placeholder)
.into(view);
占位符用法2
Glide.with(fragment)
.load(url)
.placeholder(new ColorDrawable(Color.BLACK))
.into(view);
加载错误
error Drawable在请求永久性失败时展示。error Drawable同样也在请求的url/model为null,且并没有设置 fallback Drawable时展示。有两种使用方法:
错误符用法1
Glide.with(fragment)
.load(url)
.error(R.drawable.error)
.into(view);
错误符用法2
Glide.with(fragment)
.load(url)
.error(new ColorDrawable(Color.RED))
.into(view);
后备回调符(Fallback)
fallback Drawable在请求的url/model为 null时展示。设计 fallback Drawable的主要目的是允许用户指示null是否为可接受的正常情况。例如,一个 null的个人资料 url可能暗示这个用户没有设置头像,因此应该使用默认头像。然而,null也可能表明这个元数据根本就是不合法的,或者取不到。 默认情况下Glide将 null 作为错误处理,所以可以接受 null的应用应当显式地设置一个fallback Drawable 。
Fallback使用方法1
Glide.with(fragment)
.load(url)
.fallback(R.drawable.fallback)
.into(view);
Fallback使用方法2
Glide.with(fragment)
.load(url)
.fallback(new ColorDrawable(Color.GREY))
.into(view);
加载圆形图片
Glide.with(context)
.load(url)
.apply(RequestOptions.bitmapTransform(new CircleCrop()))
.into(view);
加载圆形图片自定义弧度
Glide.with(context)
.load(url)
.apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))//圆角半径
.into(view);x