目标
通过OutlineProvider来完成阴影和圆角
视图圆角有很多方案,今天看到OutlineProvider可以用他来实现.还挺方便干净.
代码
binding.tvEvent.setBackgroundColor(Color.RED)
binding.tvEvent.clipToOutline = true
binding.tvEvent.outlineProvider = object :ViewOutlineProvider() {
override fun getOutline(view: View?, outline: Outline?) {
outline?.setRoundRect(0, 0, view?.getWidth()?:0, view?.getHeight()?:0, 30.0f);
}
}
binding.tvEvent2.clipToOutline = true
binding.tvEvent2.elevation = 5.0f
binding.tvEvent2.outlineProvider = object :ViewOutlineProvider() {
override fun getOutline(view: View?, outline: Outline?) {
val path = Path()
path.moveTo(view!!.width.toFloat(), view.height.toFloat())
path.lineTo(view.width.toFloat(), view.height * 2.toFloat())
path.lineTo(view.width * 2.toFloat(), view.height * 2.toFloat())
path.lineTo(view.width * 2.toFloat(), view.height.toFloat())
path.close()
outline!!.setConvexPath(path)
}
}
复制代码
效果

Android中的Z的含义
- Elevation 高度,一个静态值
- Translation Z z轴变动值,用于动画的动态值
Z Vaue = Elevation + TranslationZ
复制代码

参考
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)



![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)