Android通过OutlineProvider + setElevation为View添加阴影

val view = findViewById<View>(R.id.temp_text_view)
// 圆角尺寸
val px96 = 96
// outlineProvider具体用法可以参见文末链接
view.outlineProvider = object : ViewOutlineProvider() {
    override fun getOutline(view: View, outline: Outline) {
        // 在这里将该View裁切成左边圆角,右边直角,按实际需求定制
        outline.setRoundRect(0, 0, view.width + px96 , view.height, px96.toFloat())
    }
}
// 开启裁切
clipToOutline = true
// 设置海拔,具体用法见Api
view.elevation = elevation
if (Build.VERSION.SDK_INT >= 28) {
    // Api 28 以上设置阴影颜色
    view.outlineSpotShadowColor = Color.BLUE
}

Android通过Drawable和ViewOutlineProvider方式实现圆角

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容