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

.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:修复启动屏深色主题适配问题

  1. 打开Android项目中Resources\values-night\colors.xml,确保背景色设置为白色:
<color name="splash_background">#FFFFFF</color>
  1. 检查Resources\drawable\maui_splash_drawable.xml(自动生成的启动屏布局),确认背景引用的是正确的颜色资源:
<item android:drawable="@color/splash_background" />
  1. 若自动生成的布局有问题,可手动创建自定义启动屏布局,指定固定白色背景,替换默认的MauiSplashScreen生成逻辑。

方法3:针对MIUI系统的特殊处理

MIUI的深色模式可能有额外的系统级适配逻辑,可尝试在代码中强制关闭应用的深色模式:
在Android项目的MainActivity.cs的OnCreate方法中添加:

AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:37:22