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通过OutlineProvider + setElevation为View添加阴影
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 目录介绍 01.阴影效果有哪些实现方式 02.实现阴影效果Api 03.设置阴影需要注意哪些 04.常见Shape...
- CardView 扩展 FrameLayout 类并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方...
- View可以投下的阴影,一个View的elevation值决定了它的阴影的大小和绘制的顺序。可以设置一个视图的el...
- 前言 经过对SurfaceFlinger,SurfaceView的源码的阅读后。这里我们接着这一篇文章View的初...