【发布时间】:2015-04-14 12:06:46
【问题描述】:
我正在尝试为我的视图实现阴影。我已经给出了一个描述我想要的示例图像,我需要一个用于实现阴影的谷歌标准方法,我尝试过使用可绘制图像,但你知道这不是标准方法。
【问题讨论】:
-
什么是“系统渲染阴影”?
标签: android drawable material-design xml-drawable
我正在尝试为我的视图实现阴影。我已经给出了一个描述我想要的示例图像,我需要一个用于实现阴影的谷歌标准方法,我尝试过使用可绘制图像,但你知道这不是标准方法。
【问题讨论】:
标签: android drawable material-design xml-drawable
【讨论】:
您必须使用CardView 作为视图容器(在官方支持库中)并设置属性:
app:cardElevation="4dp" // shadow
app:cardUseCompatPadding="true">
app 命名空间在哪里:xmlns:app="http://schemas.android.com/apk/res-auto"
【讨论】:
我猜您正在考虑使用旧设备。
您可以使用 RenderScript 模糊和图层合成来渲染阴影。此方法从 Android Froyo 开始可用。从头开始创建这样的阴影非常容易。你必须:
您必须根据 View 的高度指定模糊半径。你也可以稍微抵消一下阴影。实现细节见:
和
【讨论】:
通常,通过 API21,您可以使用view.setElevation() 方法。
最好使用ViewCompat.setElevation() 方法。
注意,它只会在 API21+ 的设备中创建阴影。
如果您想使用 api
目前在所有设备中支持提升的唯一标准视图是CardView。
在这种情况下,您可以使用setCardElevation() 方法。
【讨论】: