2

我多次遇到海拔叠加。即使我阅读了一些定义,我似乎也没有找到它的确切含义。你能帮我解决这个问题吗?它是什么?它是如何使用的?

这是链接

4

1 回答 1

6

正如您在文档中可以找到的:

深色主题中,高程叠加层是半透明的白色 ( colorOnSurface) 叠加层,概念上放置在表面颜色之上。

由图书馆管理
只是一个MaterialCardView带有app:cardElevation="4dp"和的例子app:cardElevation="8dp"

灯光模式:

在此处输入图像描述

黑暗模式:

在此处输入图像描述

叠加层基于colorOnSurface应用程序主题中定义的。
您可以在应用程序主题中添加此颜色:

<item name="elevationOverlayColor">@color/...</item>

在此处输入图像描述

您还可以在应用主题中禁用此行为:

<item name="elevationOverlayEnabled">false</item>

材质组件库中的许多组件都支持深色主题中的高程叠加,但您也可以使用MaterialShapeDrawable.

例如,您可以使用LinearLayout

LinearLayout linearLayout1= findViewById(R.id....);
MaterialShapeDrawable shapeDrawableLL1 = 
MaterialShapeDrawable.createWithElevationOverlay(this, 4.0f );
ViewCompat.setBackground(linearLayout1,shapeDrawableLL1);

LinearLayout linearLayout2= findViewById(R.id....);
MaterialShapeDrawable shapeDrawableLL2 = 
MaterialShapeDrawable.createWithElevationOverlay(this, 16.0f );
ViewCompat.setBackground(linearLayout2,shapeDrawableLL2);

在此处输入图像描述

于 2020-06-06T14:17:54.800 回答