android-如何将材质样式的阴影添加到画布绘制的元素?
作者:互联网
如文档所述,您可以通过android:elevation添加和自定义材质设计的阴影样式.这与我遇到的所有元素都很好.
但是,如果我想在画布上绘制的形状获得相同(或几乎相同)的行为怎么办? -目前,我正在使用Paint.setShadowLayer(),但与本机实现相比,结果远非’material’风格.
是否有任何库或方法可以达到相同的效果?最好加上海拔高度?
解决方法:
Android Lollipop用于渲染阴影的方法非常简单:
>绘制视图的黑色形状
>使用ScriptIntrisincBlur对其进行模糊处理
>将其绘制在视图下方
您可以将此方法应用于形状.我已经在自己的库中实现了这些步骤,能够在所有最近的Android上绘制实时阴影,直到纸杯蛋糕.您可以在这里找到它:https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/widget/FrameLayout.java#L207
编辑:链接到Android阴影绘图代码:
https://github.com/android/platform_frameworks_base/blob/4d9ffdf95237c4ee59514c678fea6ff157e0eee3/libs/hwui/OpenGLRenderer.cpp#L2507
标签:material-design,canvas,shadow,android-elevation,android 来源: https://codeday.me/bug/20191120/2046191.html