【问题标题】:What is color of NavigationBar in Jetpack Compose in Material color scheme?Material配色方案中Jetpack Compose中导航栏的颜色是什么?
【发布时间】:2022-06-28 01:23:45
【问题描述】:

当我试图将NavigationBar 强制为MaterialTheme.colorScheme.surface 颜色(请参阅Material 3 Guidelines)时,应用程序的背景颜色和NavigationBar 的颜色不同。示例:NavigationBar 的颜色为#f1edf7,但背景颜色为#fffbfe。背景应用颜色也是MaterialTheme.colorScheme.surface

【问题讨论】:

    标签: android-jetpack-compose navigationbar material-you


    【解决方案1】:

    Material Design 3 中有一个名为tonalElevation 的东西。相同的“基础”颜色在不同的色调高度不同。默认情况下,Surface 的色调高度为 0dp,这意味着按原样使用背景颜色。 NavigationBar 有色调高度 3dp,它会稍微改变颜色。如果您想强制NavigationBar 完全是表面颜色,请将其色调高度更改为 0。

    看到这个:https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ColorScheme.kt;l=460?q=surfaceColorAtElevation&sq=

    【讨论】:

      【解决方案2】:

      除了更改导航栏的高度之外,您还可以像在材质组件中那样计算颜色:

      activity.window.navigationBarColor = colorScheme.primary.copy(alpha = 0.08f).compositeOver(colorScheme.surface.copy()).toArgb()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-25
        • 2016-05-04
        • 1970-01-01
        • 2023-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多