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

如何让MAUI Resizetizer同时生成双平台适配的启动屏PNG?

解决MAUI双平台启动屏Resizetizer一次性生成资源问题

问题根源

你当前的配置使用Condition基于当前构建的目标平台激活对应的<MauiSplashScreen>条目,导致每次构建仅处理其中一个条目,Resizetizer自然只会生成对应平台的PNG文件,切换平台时未被处理的条目就会出现文件缺失。

优化方案

改用Platform属性为每个启动屏条目指定专属平台,让Resizetizer同时处理两个条目,一次性生成双平台所需的PNG资源:

<ItemGroup>
...
    <!-- Splash Screen -->
    <MauiSplashScreen
        Platform="iOS"
        Include="Resources\Splash\logo_filled_withtext_whiteondarkb.svg" 
        Color="#4D8F8D"
    />
    <MauiSplashScreen 
        Platform="Android"
        Include="Resources\Splash\logo_filled_withtext_whiteondarkb_android12.svg"
        Color="#4D8F8D"
    />
...
</ItemGroup>

方案说明

  • Platform属性明确指定该启动屏条目归属的平台,Resizetizer会遍历所有带Platform属性的条目,为每个平台单独生成适配资源,不受当前构建目标平台的限制。
  • 若需覆盖除Android外的所有其他平台(如Windows、MacCatalyst),可将第一个条目改为Platform="!Android",替代Platform="iOS",这样非Android平台都会统一使用该启动图:
    <MauiSplashScreen
        Platform="!Android"
        Include="Resources\Splash\logo_filled_withtext_whiteondarkb.svg" 
        Color="#4D8F8D"
    />
    

验证效果

修改配置后清理并重新构建项目,obj目录下会同时生成两个平台对应的启动屏PNG资源,切换平台运行时不会再出现文件找不到的错误,也无需反复调换条目顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:11:14