升级Cordova 11与Android API 32后如何增大启动屏尺寸?
Cordova 11 + Android API 32 启动屏尺寸缩小问题解决办法
Android 12+的系统启动屏默认会对AndroidWindowSplashScreenAnimatedIcon指定的图标应用圆形遮罩,圆形区域外的内容会被隐藏,这就是启动屏尺寸缩小的核心原因。以下是几种可行的解决方式:
方式一:适配圆形遮罩规范
按照Android官方启动屏图标要求制作资源,将核心视觉内容放在圆形安全区内,不同dpi对应的安全区尺寸如下:
- mdpi:48x48dp(对应像素48px)
- hdpi:72x72dp(对应像素72px)
- xhdpi:96x96dp(对应像素96px)
- xxhdpi:144x144dp(对应像素144px)
- xxxhdpi:192x192dp(对应像素192px)
制作图标时确保核心内容完全落在圆形区域内,即可避免被裁剪,同时符合系统设计规范。
方式二:使用全屏启动图替代圆形图标
通过AndroidWindowSplashScreenBrandingImage配置指定全屏启动图,绕过圆形遮罩限制:
- 制作适配不同dpi的全屏启动图,放在
res/android/splash/对应dpi目录下(如res/android/splash-mdpi/) - 在
config.xml中添加以下配置:
<preference name="AndroidWindowSplashScreenBrandingImage" value="res/android/splash/splash-fullscreen.png" />
注意:启动图不要包含透明区域,否则会显示系统默认背景色;推荐使用.9.png格式实现屏幕自适应。
方式三:自定义启动屏主题禁用遮罩
通过修改Android主题配置关闭圆形遮罩:
- 在
platforms/android/app/src/main/res/values/styles.xml中添加自定义主题:
<style name="CustomSplashTheme" parent="Theme.SplashScreen"> <!-- 设置启动屏背景色 --> <item name="windowSplashScreenBackground">@color/your_splash_bg_color</item> <!-- 设置启动图标 --> <item name="windowSplashScreenAnimatedIcon">@drawable/your_splash_icon</item> <!-- 禁用圆形遮罩 --> <item name="windowSplashScreenIconBackgroundColor">@null</item> <!-- 关闭动画(可选) --> <item name="windowSplashScreenAnimationDuration">0</item> </style>
- 在
config.xml中指定使用该主题:
<preference name="AndroidLaunchThemeStyle" value="@style/CustomSplashTheme" />
内容的提问来源于stack exchange,提问作者Panadol Chong
相关产品推荐
相关产品推荐

