gpt4 book ai didi

Android Material Toolbar 表面颜色在两个不同的工具栏上看起来不同

转载 作者:行者123 更新时间:2023-12-05 00:11:03 27 4
gpt4 key购买 nike

我正在尝试将 Material 工具栏的背景颜色更改为表面颜色:

android:background="?attr/colorSurface"

按预期工作(为了简化它,我直接在 View 中设置了背景颜色,并没有为此创建自定义样式)。为了为明暗模式定义多种颜色,我创建了两个 colors.xml 文件。在灯光模式下,应用的表面颜色看起来符合预期:

light mode

但是当我更改为深色模式时,两个工具栏看起来像这样(仍然都引用相同的颜色资源):

dark mode

右边的工具栏有正确的背景颜色,左边的没有。

然后我检查了我在深色模式下定义的每种颜色是否都发生了同样的事情,所以我将表面颜色更改为我的原色。在黑暗模式下它看起来像这样:

dark mode with primary color

所以在这种情况下,颜色看起来是一样的,但是当我使用我的表面颜色时,它就不同了。

我也尝试将 Widget.MaterialComponents.Toolbar.Surface 工具栏更改为 Widget.MaterialComponents.Toolbar,但结果仍然相同。

最佳答案

So in this case the colors look the same, but when I'm using my surface color, it does not.

它的发生是因为 Elevation Overlays .
您可以避免在您的应用主题中将海拔叠加层 elevationOverlayEnabled 设置为 false

最后一点。在您的 MaterialToolbar 中,您应该使用:

    <com.google.android.material.appbar.MaterialToolbar
style="@style/Widget.MaterialComponents.Toolbar.PrimarySurface"
..>

该样式会自动在浅色主题下组件的主要颜色样式和深色主题下的表面颜色样式之间切换。

关于Android Material Toolbar 表面颜色在两个不同的工具栏上看起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62133090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com