I know CardView
不是为此而设计的,但理论上如果cardCornerRadius = view_size / 2
它应该导致圆圈。
我错过了什么吗?
绘制真实的动画阴影并不困难,您可以尝试在 Froyo 等任何 Android 设备上实现 Lollipop 的效果。它的工作原理如下:
- 使用 LightingColorFilter(0,0) 将视图绘制到屏幕外位图
- 使用 ScriptIntrisincBlur 模糊该位图。将模糊半径设置为您的海拔值。
- 在浮动操作按钮下方绘制模糊的位图。
有关示例实现,请参阅:
- 阴影生成器,模糊视图:https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/shadow/ShadowGenerator.java https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/shadow/ShadowGenerator.java
- 支持阴影的 LinearLayout,检查 drawChild() 方法:https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/widget/LinearLayout.java#L102 https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/widget/LinearLayout.java#L102
基本上,Carbon 库试图尽可能好地模仿 Lollipop 的效果。我知道导入这样的库可能有点矫枉过正,但如果您愿意,您可以仅复制代码中有趣的部分并在您的应用程序中使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)