如何在KivyMD开发的安卓应用中添加自定义启动屏或移除默认启动屏
移除/自定义KivyMD安卓端默认启动屏的操作方案
KivyMD开发安卓应用时弹出的默认启动屏,本质是Buildozer打包流程中集成的原生层预启动闪屏机制,并非KivyMD Python代码层面的界面组件,无法通过修改Kivy的UI逻辑直接关闭,需要调整打包配置实现对应的移除或自定义需求。
完全移除默认启动屏
按以下步骤修改项目根目录下的buildozer.spec配置文件:
- 找到
android.presplash_lottie配置项,将原有指向KivyMD内置Lottie动画的参数值置为空,关闭默认动画的加载流程 - 将
android.presplash配置项的值设为0,直接关闭原生层预启动屏的整体渲染逻辑 - 补充设置
android.presplash_color = "",关闭默认纯色占位背景的加载 - 配置修改完成后,执行
buildozer android clean && buildozer android debug deploy重新打包应用,安装新APK后即可跳过默认启动屏,直接加载应用主界面
替换为自定义专属启动屏
- 提前准备好符合安卓分辨率要求的启动资源:静态图选择1080*1920分辨率的透明/纯色背景PNG,Lottie动画选择适配移动端渲染的JSON格式文件,将所有资源放到项目的
app/assets目录下 - 按自定义需求修改
buildozer.spec对应配置项:- 若使用静态图:设置
android.presplash_src = "assets/你的自定义启动图.png" - 若使用Lottie动画:设置
android.presplash_lottie = "assets/你的自定义启动动画.json" - 设置和启动图主背景匹配的
android.presplash_color色值,避免出现画面边缘露白/露黑的问题 - 可通过
android.presplash_duration = 1.2参数调整启动屏的展示时长,匹配应用的资源加载周期
- 若使用静态图:设置
- 配置完成后重新执行全量打包流程,安装APK后即可在启动阶段展示自定义的专属启动画面
注意:原生层启动屏的配置仅在APK打包阶段生效,常规的热重载、本地Python代码调试不会修改这部分逻辑,所有配置调整都需要走完整的重新打包流程才能验证效果。
内容的提问来源于stack exchange,提问作者Eklavya Chandra
相关产品推荐
相关产品推荐

