美文网首页
Glide 加载失败 给默认图 圆角

Glide 加载失败 给默认图 圆角

作者: 夜明智灵 | 来源:发表于2020-12-30 17:31 被阅读0次

    设置 RequestBuilder的thumbnail 就可以了
    参考
    这里使用的Kotlin 定义的 ImageView的扩展方法

    fun ImageView.load(
        res: Any?,
        radius: Int? = null,
        drawable: Drawable? = null,
        listener: RequestListener<Drawable>? = null
    ) {
        var builder = Glide.with(this).load(res).listener(listener)
        if (radius != null || drawable != null) {
            var options = RequestOptions()
            drawable?.let {
                options = options.placeholder(drawable).error(drawable)
            }
            radius?.let {
                val transformations = arrayOf(CenterCrop(), RoundedCorners(radius))
                options = options.transform(*transformations)
                builder.thumbnail(loadTransform(context, drawable, *transformations))
            }
            builder = builder.apply(options)
    
        }
        builder.into(this)
    }
    
    /**
     * 处理需要圆角但加载失败的情况
     */
    
    private fun loadTransform(
        context: Context,
        drawable: Drawable?,
        vararg transformations: Transformation<Bitmap>
    ): RequestBuilder<Drawable>? {
        if (drawable == null)
            return null
        return Glide.with(context).load(drawable).apply(RequestOptions().transform(*transformations))
    }
    

    相关文章

      网友评论

          本文标题:Glide 加载失败 给默认图 圆角

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