You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS 2022的Android模拟器中修改.NET MAUI标题栏背景色

修改.NET MAUI Android标题栏初始背景色及Flyout图标颜色方案

方法1:通过Shell全局样式统一设置

在AppShell.xaml的ResourceDictionary中添加Shell样式,一次性配置标题栏背景色、Flyout图标颜色及标题文字颜色:

<Shell.Resources>
    <ResourceDictionary>
        <Style TargetType="Shell">
            <!-- 设置标题栏背景色 -->
            <Setter Property="Shell.BackgroundColor" Value="#2196F3" />
            <!-- 修改Flyout菜单图标颜色(解决白色图标不可见问题) -->
            <Setter Property="Shell.FlyoutIconColor" Value="#000000" />
            <!-- 可选:设置标题栏文字颜色 -->
            <Setter Property="Shell.TitleColor" Value="#FFFFFF" />
        </Style>
    </ResourceDictionary>
</Shell.Resources>

该设置会全局生效,启动后标题栏直接应用指定背景色,同时Flyout图标变为深色,避免点击区域不可见的问题。

方法2:Android平台原生定制

若需仅针对Android平台做更精细控制,修改Platforms/Android/MainActivity.cs的OnCreate方法(放在base.OnCreate(savedInstanceState);之后):

var window = Window;
// 设置标题栏背景色
window.StatusBarColor = Android.Graphics.Color.ParseColor("#2196F3");
// 设置标题文字颜色
window.SetTitleColor(Android.Graphics.Color.ParseColor("#FFFFFF"));

// 单独修改Flyout图标颜色
var toolbar = FindViewById<AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.toolbar);
if (toolbar != null)
{
    toolbar.NavigationIcon?.SetTint(Android.Graphics.Color.ParseColor("#000000"));
}

此方式直接操作Android原生控件,适合平台专属的定制需求。

方法3:页面级单独配置

如果仅需特定页面修改标题栏背景色,在对应页面的XAML中直接设置:

<ContentPage ...
             Shell.BackgroundColor="#FF9800">
    <!-- 页面内容 -->
</ContentPage>

该页面的标题栏会单独使用指定背景色,不影响其他页面的样式。

内容的提问来源于stack exchange,提问作者user22995906

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:15:55