java - 无论指定什么颜色,NavigationBar 颜色在深色模式下都保持黑色
问题描述
我目前正在切换到轻型导航栏 API 27+。我稍微改变了它,使它与我的底部导航相匹配。但是,当切换到深色模式时,它会忽略我设置的颜色。
// themes-v27.xml
<style name="Theme.Planner.DayNight.LightNavigationBar" parent="Theme.Planner">
<item name="android:navigationBarColor">@color/navigation_bar</item>
<item name="android:windowLightNavigationBar">@bool/isDayMode</item>
</style>
// colors.xml
<resources>
<color name="navigation_bar">@color/grey_50</color>
</resources>
// colors.xml (night)
<resources>
<color name="navigation_bar">@color/planner_red</color> <!-- using red for demonstration -->
</resources>
// BottomNav
<style name="Widget.Planner.BottomNavigationView" parent="Widget.MaterialComponents.BottomNavigationView.Colored">
<item name="materialThemeOverlay">@style/ThemeOverlay.Planner.BottomNavigationView</item>
</style>
<style name="ThemeOverlay.Planner.BottomNavigationView" parent="">
<item name="backgroundTint">?colorSurface</item>
<item name="colorOnPrimary">?colorPrimary</item>
</style>
解决方案
推荐阅读
- .net - 在实体框架中动态选择连接字符串到主动可用的数据库
- typo3 - 站点地图在typo3 9.5.x 中不能真正工作
- python - QuerySet 类型的对象不是 JSON 可序列化的 Django
- javascript - 如何缩放 A 帧 Videosphere
- react-native - 当我将 i18n.dir() 存入 var 或 let 时,它不会改变
- javascript - 幻灯片处于活动状态时将 css 应用于祖父母 div
- bash - 在文件中搜索字符串的部分匹配模式并替换它
- haskell - 如何在不更改度量类型的情况下使我的函数返回双精度值?
- keras - keras中函数式API是什么意思?
- android - 如何修复 CameraX 捕获的图像旋转?