.Net MAUI Android 应用程序:在启动屏幕时更改导航和状态栏颜色

mag*_*eng 6 .net android maui

我正在尝试更改 .Net MAUI Android 应用程序中的导航栏和状态栏背景颜色。

我找到了当应用程序初始化加载时如何执行此操作(状态栏:使用 MauiCommunityToolkit StatusBarBehavior StatusBarColor 功能。导航栏:使用 Window.SetNavigationBarColor)。

但我还没有找到当应用程序启动并显示启动屏幕时如何执行此操作。我需要状态栏和导航栏的黑色背景颜色,但当应用程序启动时,导航栏为白色,状态栏为紫色(默认 .Net MAUI 颜色)。我附上了一张启动时的外观图像。

我尝试更改 Resources/colors.xml 中的主颜色,但没有成功。

我的应用程序是一个 MAUI 单一项目模板(Android 和 iOS)。

预先感谢您查看此问题。在此输入图像描述

更新:我能够仅更改状态栏,更改 Platforms/Android/Resources/colors.xml 中的默认 colorPrimaryDark 值 在此输入图像描述

但仍在研究如何更改导航栏颜色。 在此输入图像描述

Jia*_*SFT 8

您可以创建一个新的.xml文件,然后将样式放入或直接将样式添加到colors.xml中:

<resources>
    <color name="colorPrimary">#512BD4</color>
    <color name="colorPrimaryDark">#2B0B98</color>
    <color name="colorAccent">#2B0B98</color>
    
    <style name="SplashTheme" parent="@style/Maui.SplashTheme">
        <item name="android:statusBarColor">@android:color/black</item>
        <item name="android:navigationBarColor">@android:color/black</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

在 MainActivity.cs 文件(平台/Android)中:

[Activity(
    //Theme = "@style/Maui.SplashTheme",
    Theme = "@style/SplashTheme",
    MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
public class MainActivity : MauiAppCompatActivity
Run Code Online (Sandbox Code Playgroud)

效果很好,可以实现你的需求。