x***@163.com
x***@163.com
  • 发布:51 分钟前
  • 更新:50 分钟前
  • 阅读:42

关于安卓12+版本新特性启动页适配splashsreen有没有解决方案

分类:HBuilderX

app在启动时会在自定义启动页之前会出现黑白屏,或者是大logo,请问有没有什么完整的解决方案.

51 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

这是 android 12(api 31)开始系统强制开启 SplashScreen 新特性导致的。系统会在应用启动时先显示一个系统级启动画面(默认是白色背景 + 居中的应用图标,即你看到的黑白屏或大 logo),然后才进入你在 manifest.json 中配置的自定义启动页,所以会出现"两个启动页"的现象。海外 rom 大多开启了这个效果,国内 rom 大多默认关闭,因此在不同机型上表现不一致,属于碎片化问题。

完整的适配方案如下:

方案一:配置 Google SplashScreen(推荐)

在项目的 manifest.json 文件中,找到"App启动界面配置"下的"Google SplashScreen配置"项,配置背景颜色、各分辨率的居中 logo 图标、底部品牌图标。将系统启动画面的背景色和 logo 配置成与你的自定义启动页一致的风格,这样系统 splash 到自定义启动页的过渡就不会突兀。详细说明见文档:Google SplashScreen配置

方案二:设置启动页透明

在 manifest.json 源码视图中配置:

"app-plus" : {  
    "distribute" : {  
        "splashscreen" : {  
            "androidTranslucent" : true  
        }  
    }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

该方案来自社区同类问题的反馈,部分机型(如一加、oppo 部分机型)验证有效,可参考:自定义启动页时、一加手机出现两个启动界面添加自定义启动图后会先出现APP的logo再显示启动页

方案三:解决底部导航栏闪白

如果自定义启动图后部分设备出现系统导航栏启动时闪白,可配置 androidNavigationBarColor,要求颜色值与启动图背景颜色相近(HBuilderX 5.0 及以上版本支持):

"app-plus" : {  
    "distribute" : {  
        "splashscreen" : {  
            "androidNavigationBarColor" : "#000000"  
        }  
    }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

详见:App Splashscreen配置

注意事项

  1. splash 相关改动需要云打包后生效,真机运行(标准基座)不生效,修改后请重新云打包再验证。
  2. 建议方案一和方案二结合使用:先通过 Google SplashScreen 配置让系统启动画面与自定义启动页视觉统一,再视机型表现决定是否加 androidTranslucent。
  3. 由于各 rom 碎片化严重,建议在小米、华为、oppo、vivo、一加等不同品牌真机上分别验证效果。
内容为 AI 生成,仅供参考

要回复问题请先登录注册