喷气背包组合中表面颜色为 +(...)%

BSh*_*BSh 7 android material-design android-jetpack-compose material-you

在官方Material Design 3 资源(例如Figma 设计套件)中,有很多提到“Surface at +x”的颜色。这些颜色是与 x% 的原色混合的表面颜色。

现在我的问题是:

如何在 Jetpack Compose 中实现“+x 处的表面”颜色?该对象没有文档,也没有属性MaterialTheme.colorScheme。

Figma 设计套件参考:Figma Material Design 3 UI 套件中的颜色

Vin*_*nce 7

2022 年 9 月更新

使用材质 3,如果由于某种原因您需要提升颜色表面但无法使用Surface,现在您可以直接使用:

MaterialTheme.colorScheme.surfaceColorAtElevation(4.dp)
Run Code Online (Sandbox Code Playgroud)


Dan*_*nie 5

如果有人需要在非撰写代码中获取它,请使用SurfaceColors 枚举:

int colorSurface1 = SurfaceColors.SURFACE_2.getColor(context);
Run Code Online (Sandbox Code Playgroud)

文档可以在这里找到


Sco*_*per 2

MaterialTheme.colorScheme.surfaceSurface默认使用,它们还有一个新属性,您可以在此处tonalElevation阅读。

其要点是增加色调高度会自动改变颜色,您自己尝试一下:

Surface(tonalElevation = 5.dp) {
    // content
}
Run Code Online (Sandbox Code Playgroud)