如何将状态栏和导航栏颜色与操作栏和底部导航菜单相匹配?

How to match status bar and navigation bar colors to action bar and bottom navigation menu?

我正在尝试使状态栏和导航栏颜色与操作栏和底部导航菜单相匹配。当我将颜色设置为“colorOnPrimary”以匹配操作栏时,颜色比预期的要暗。

更改状态栏和导航栏颜色:

<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.PATCOToday" parent="Theme.Material3.DayNight">
    <!-- Primary brand color. -->
    <item name="android:colorBackground">@color/material_dynamic_primary99</item>
    <item name="colorOnBackground">@color/material_dynamic_primary10</item>
    <item name="colorPrimary">@color/material_dynamic_primary60</item>
    <item name="colorPrimaryDark">@color/material_dynamic_primary50</item>
    <item name="colorPrimaryContainer">@color/material_dynamic_primary90</item>
    <item name="colorOnPrimary">@color/material_dynamic_primary99</item>
    <item name="colorOnPrimaryContainer">@color/material_dynamic_primary20</item>
    <!-- Status-bar and Nav-bar -->
    <item name="android:statusBarColor">?android:colorPrimary</item>
    <item name="android:navigationBarColor">?android:colorPrimary</item>
</style>

Result vs What I'd Like


我相信由于我实施了 Material 3,颜色会有所不同,但我不确定如何解决它。

有什么想法吗?

如果我没看错,您可以尝试通过在 MainActivityonCreate() 方法中插入这些行以编程方式执行此操作class.

if (Build.VERSION.SDK_INT >= 21) {
    getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.your_color));
    getWindow().setNavigationBarColor(ContextCompat.getColor(this,R.color.your_color));
}