设置容器圆角问题记录

今天给WebView设置圆角时失效,查阅资料都是自定义WebView,提供另一种思路,直接给外层FramLayout设置,直接上代码。
private fun setCorner() {
    val outlineProvider = object :ViewOutlineProvider() {
        override fun getOutline(view: View, outline: Outline) {
            val left = 0
            val top = 0
            val right = view.width
            val bottom = view.height
            val cornerRadius = 16.dp

            // all corners
            // outline.setRoundRect(left, top, right, bottom, cornerRadius.toFloat())
            // top corners
            outline.setRoundRect(left, top, right, bottom + cornerRadius, cornerRadius.toFloat())

            /* bottom corners
            outline.setRoundRect(left, top - cornerRadius, right, bottom, cornerRadius.toFloat())*/

            /* left corners
            outline.setRoundRect(left, top, right + cornerRadius, bottom, cornerRadius.toFloat())*/

            /* right corners
            outline.setRoundRect(left - cornerRadius, top, right, bottom, cornerRadius.toFloat())*/

            /* top left corner
            outline.setRoundRect(left , top, right+ cornerRadius, bottom + cornerRadius, cornerRadius.toFloat())*/

            /* top right corner
            outline.setRoundRect(left - cornerRadius , top, right, bottom + cornerRadius, cornerRadius.toFloat())*/

            /* bottom left corner
            outline.setRoundRect(left, top - cornerRadius, right + cornerRadius, bottom, cornerRadius.toFloat())*/

            /* bottom right corner
            outline.setRoundRect(left - cornerRadius, top - cornerRadius, right, bottom, cornerRadius.toFloat())*/

        }

    }
    view?.outlineProvider = outlineProvider
    view?.clipToOutline = true
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值