美文网首页
Glide 监听图片加载状态 — 支持静态图、GIF

Glide 监听图片加载状态 — 支持静态图、GIF

作者: 三天过去了 | 来源:发表于2021-12-21 17:03 被阅读0次
    
    /**
     * Glide 监听图片加载状态 — 支持静态图、GIF
     */
    fun loadImage(context: Context?, url: String?) {
        context ?: return
    
        if (url.isNullOrEmpty()) {
            return
        }
    
        val builder = Glide.with(context).load(url)
    
        if (isGif(url)) {
            builder.asGif()
            builder.diskCacheStrategy(DiskCacheStrategy.SOURCE)
        } else {
            builder.diskCacheStrategy(DiskCacheStrategy.ALL)
        }
    
        builder.crossFade(300)
    
        // GifDrawable 继承于 GlideDrawable
        builder.listener(object : RequestListener<String, GlideDrawable> {
            override fun onException(p0: Exception?, p1: String?, p2: Target<GlideDrawable>?, p3: Boolean): Boolean {
                // 加载失败
                return false
            }
    
            override fun onResourceReady(p0: GlideDrawable?, p1: String?, p2: Target<GlideDrawable>?, p3: Boolean, p4: Boolean): Boolean {
                // 加载成功
                return false
            }
        }).into(imageView)
    }
    
    

    相关文章

      网友评论

          本文标题:Glide 监听图片加载状态 — 支持静态图、GIF

          本文链接:https://www.haomeiwen.com/subject/bamxqrtx.html