如何在Android中实现阴影(环境光)背景?

Eth*_*hoi 5 android android-layout

如何实现下图所示的阴影?

我尝试了很多方法为CardViewelevation很多custom viewsdrawable。但这与通缉的阴影不同。

卡视图

elevation of CardViewambient light+ key light。但是,我只想ambient light海拔。

CardView的阴影。

我想要这个影子。

我想要这个影子。

Osa*_*edo 3

从 API 28 开始,您可以设置阴影的颜色。

如果您只想要环境阴影,那么您需要将主光(又称聚光灯)的颜色设置为透明。

您可以通过将以下内容添加到 xml 中的视图标记来实现此目的:

android:outlineAmbientShadowColor="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)

现在只有主光/聚光灯会显示。

和环境阴影

android:outlinesSpotShadowColor="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)

另请检查

setOutlineAmbientShadowColor() and setOutlinePostShadowColor()
Run Code Online (Sandbox Code Playgroud)

以编程方式完成

如果您不想要黑色阴影,也可以将它们设置为其他颜色。