合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
***** **占位符** [TOC=6] # 1. 类型 Glide允许用户指定三种不同类型的占位符,分别在三种不同场景使用: * placeholder * error * fallback # 2. 占位符(Placeholder) 占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置`error Drawable`,则占位符将被持续展示。类似地,如果请求的url/model为`null`,并且`error Drawable`和`fallback`都没有设置,那么占位符也会继续显示。 使用generated API ~~~ GlideApp.with(fragment) .load(url) .placeholder(R.drawable.placeholder) .into(view); ~~~ Or: ~~~ GlideApp.with(fragment) .load(url) .placeholder(new ColorDrawable(Color.BLACK)) .into(view); ~~~ # 3. 错误符(Error) `error Drawable`在请求永久性失败时展示。`error Drawable`同样也在请求的url/model为`null`,且并没有设置`fallback Drawable`时展示。 With the[generated API](https://muyangmin.github.io/glide-docs-cn/doc/generatedapi.html): ~~~ GlideApp.with(fragment) .load(url) .error(R.drawable.error) .into(view); ~~~ Or: ~~~ GlideApp.with(fragment) .load(url) .error(new ColorDrawable(Color.RED)) .into(view); ~~~ #### 后备回调符(Fallback)[](https://muyangmin.github.io/glide-docs-cn/doc/placeholders.html#%E5%90%8E%E5%A4%87%E5%9B%9E%E8%B0%83%E7%AC%A6fallback) `fallback Drawable`在请求的url/model为`null`时展示。设计`fallback Drawable`的主要目的是允许用户指示`null`是否为可接受的正常情况。例如,一个`null`的个人资料 url 可能暗示这个用户没有设置头像,因此应该使用默认头像。然而,`null`也可能表明这个元数据根本就是不合法的,或者取不到。 默认情况下Glide将`null`作为错误处理,所以可以接受`null`的应用应当显式地设置一个`fallback Drawable`。 使用[generated API](https://muyangmin.github.io/glide-docs-cn/doc/generatedapi.html): ~~~ GlideApp.with(fragment) .load(url) .fallback(R.drawable.fallback) .into(view); ~~~ Or: ~~~ GlideApp.with(fragment) .load(url) .fallback(new ColorDrawable(Color.GREY)) .into(view); ~~~