我正在尝试将材料工具栏的背景颜色更改为表面颜色:
android:background="?attr/colorSurface"
Run Code Online (Sandbox Code Playgroud)
它按预期工作(为了简化它,我直接在视图中设置背景颜色,并没有为此创建自定义样式)。为了为明暗模式定义多种颜色,我创建了两个 colors.xml 文件。在光照模式下,应用的表面颜色看起来如预期:
但是当我切换到暗模式时,两个工具栏看起来像这样(仍然引用相同的颜色资源):
右边的工具栏有正确的背景颜色,左边的没有。
然后我检查了我在暗模式下定义的每种颜色是否都会发生同样的事情,所以我将表面颜色更改为我的原色。在黑暗模式下,它看起来像这样:
所以在这种情况下,颜色看起来是一样的,但是当我使用我的表面颜色时,它不是。
我还尝试将 Widget.MaterialComponents.Toolbar.Surface 工具栏更改为 Widget.MaterialComponents.Toolbar,但结果仍然相同。