美文网首页
Android使用ViewOutlineProvider实现圆角

Android使用ViewOutlineProvider实现圆角

作者: summerlyy | 来源:发表于2018-11-16 11:01 被阅读275次

Android可以通过设置 View#setOutlineProvider方法来设置轮廓。(不过好像不支持反锯齿,使用贝塞尔曲线来创建轮廓的话,锯齿感很重。

/**
 * @param radius 圆角半径
 */
class RoundRectOutlineProvider(private val radius: Float) : ViewOutlineProvider() {

    override fun getOutline(view: View, outline: Outline) {
        outline.setRoundRect(0, 0, view.width, view.height, radius)
    }
}

使用方法如下:

            val coverOutline = RoundRectOutlineProvider(3.px.toFloat())
            view.outlineProvider = coverOutline
            view.clipToOutline = true

效果预览如下

效果预览

相关文章

网友评论

      本文标题:Android使用ViewOutlineProvider实现圆角

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