.NET MAUI Android启动屏深色主题下背景颜色不生效问题
.NET MAUI Android启动屏深色主题异常问题
问题描述
设置.NET MAUI启动屏颜色后仅浅色主题生效,深色主题下背景仍为黑色(图片本身为白色背景),仅针对Android平台。
配置代码
<MauiSplashScreen Include="Resources\Splash\logo.svg" Color="White" />
问题更新
- 已按官方教程配置,浅色主题表现正常,但深色主题下
colorPrimaryDark被忽略,Logo周围始终存在黑框 - Logo背景已设为透明,仍显示白色背景加黑框
- 测试设备:小米Redmi Note 10 Pro,Android 12、MIUI 13.016,API 31,怀疑该版本可能引发问题
- 已尝试修改所有关联黑色的设置,问题仍存在
- 需求:启动屏图片及背景在深浅主题下均为白色,或直接禁用应用的深色模式
问题截图

解决方法建议
方法1:强制应用使用浅色主题(直接禁用深色模式)
在Android项目的Resources\values\styles.xml和Resources\values-night\styles.xml中,统一设置主题为浅色:
<style name="Maui.SplashTheme" parent="Maui.SplashTheme.Base"> <!-- 强制背景色为白色 --> <item name="android:windowBackground">@android:color/white</item> <item name="android:statusBarColor">@android:color/white</item> </style>
同时在Android项目的AndroidManifest.xml中,给<application>标签添加强制浅色主题的属性:
android:forceDarkAllowed="false"
方法2:修复启动屏深色主题适配问题
- 打开Android项目中
Resources\values-night\colors.xml,确保背景色设置为白色:
<color name="splash_background">#FFFFFF</color>
- 检查
Resources\drawable\maui_splash_drawable.xml(自动生成的启动屏布局),确认背景引用的是正确的颜色资源:
<item android:drawable="@color/splash_background" />
- 若自动生成的布局有问题,可手动创建自定义启动屏布局,指定固定白色背景,替换默认的
MauiSplashScreen生成逻辑。
方法3:针对MIUI系统的特殊处理
MIUI的深色模式可能有额外的系统级适配逻辑,可尝试在代码中强制关闭应用的深色模式:
在Android项目的MainActivity.cs的OnCreate方法中添加:
AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;
内容的提问来源于stack exchange,提问作者Systellence
相关产品推荐
相关产品推荐

