美文网首页
Android 实现圆角方式

Android 实现圆角方式

作者: 全球顶尖伪极客 | 来源:发表于2022-03-10 22:46 被阅读0次

实现方式一:Glide

glide加载圆角和centercrop的问题,采用如下方式,设置两个Transformer

class RoundedCornerCenterCrop(val radius: Int = 0) : BitmapTransformation() {
    override fun updateDiskCacheKey(messageDigest: MessageDigest) {
    }

    override fun transform(pool: BitmapPool, toTransform: Bitmap, outWidth: Int, outHeight: Int): Bitmap {
        val bitmap = TransformationUtils.centerCrop(pool, toTransform, outWidth, outHeight)
        return TransformationUtils.roundedCorners(pool, bitmap, radius)
    }
}

实现方式二

ViewOutlineProvider

 view.outlineProvider = object : ViewOutlineProvider() {
                override fun getOutline(view: View, outline: Outline) {
                    val radius = 8.dp.toFloat()
                    outline.setRoundRect(0, 0, view.width, view.height, radius)
                }
            }
            v.clipToOutline = true

相关文章

网友评论

      本文标题:Android 实现圆角方式

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