正如文档所述,您可以按android:elevation
添加和自定义材质设计阴影样式。这适用于我遇到的所有元素。
但是如果我想在Canvas
上绘制的形状获得相同(或几乎相同)的行为呢? - 目前我正在玩Paint.setShadowLayer()
,但与原生实施相比,结果远非“材料”式。
是否有任何库或方法可以达到同样的效果?最好通过增加高程水平?
答案 0 :(得分:3)
方法 Android Lollipop正在使用渲染阴影非常简单:
您可以将此方法应用于形状。我已经在我的库中实现了这些步骤,能够将所有最近的Androids上的实时阴影绘制到蛋糕上。您可以在此处找到它: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