背景
我正在尝试为应用程序准备深色主题,其中一项要求是卡片和对话框具有特定颜色:#ff3c454c
问题
无论我是通过强制 ( app:cardBackgroundColor="#3c454c"
)、引用 ( app:cardBackgroundColor="@color/...
) 还是仅在主题中设置它 - 在所有情况下我都没有得到我设置的颜色。相反,我得到了#525A61 的颜色。
我只测试了一种红色(#f00),以确保它会影响卡片,而且确实如此,而且对于这种颜色,它确实会很好。但是对于我设置的颜色,它没有。
我试过的
正如我所写,我尝试了多种方法来设置颜色。一开始我只想使用主题本身,所以我将其设置为:
样式.xml
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
...
<item name="colorBackgroundFloating">@color/colorBackgroundFloating</item>
<item name="colorSurface">@color/colorBackgroundFloating</item>
</style>
res/values-night/colors.xml
<color name="colorBackgroundFloating">#ff3c454c</color>
后来我尝试直接使用颜色,甚至将其设置为硬编码。显示时颜色仍然不正确。
看到这可能是库本身的错误,我在这里报告了这个(包括一个示例项目,如果你想检查它)。
我注意到 BottomNavigationView 和其他类似情况也出现了完全相同的问题。
问题
为什么会发生?有什么解决方法吗?可以为所有使用这些属性的视图全局修复它吗?