如何移除Flutter默认原生启动页,仅显示自定义Flutter启动页
如何移除Flutter默认原生启动页,仅显示自定义Flutter启动页
我之前也踩过这个坑——自定义了Flutter启动页后,默认的原生启动页总是先跳出来一下,特别影响体验。其实只要分别在Android和iOS的项目配置里把默认启动页的相关设置清空,就能解决问题,下面是具体的操作步骤:
Android 端操作
- 打开项目里的
android/app/src/main/res/values/styles.xml文件 - 找到名为
LaunchTheme的主题配置,把其中的android:windowBackground这一行直接删除或者注释掉。这一行就是控制默认启动页背景的关键,删掉后启动时就不会加载默认的Flutter启动图了 - 检查
android/app/src/main/AndroidManifest.xml,确保启动Activity使用的是你修改后的LaunchTheme(一般默认就是,不用额外改) - 最后执行
flutter clean清理缓存,再重新编译运行
iOS 端操作
- 打开
Runner/Info.plist文件,找到UILaunchStoryboardName这个键,直接删除整个键值对(默认值是LaunchScreen) - 或者你也可以打开
Runner/Base.lproj/LaunchScreen.storyboard,把里面默认的Flutter logo、文字等所有视图全部删除,改成完全空白的界面 - 如果你项目里有
Assets.xcassets中的LaunchImage资源,也记得把它删掉,避免残留的启动图影响 - 同样执行
flutter clean后再重新运行项目
额外提示
做完上面的设置后,App启动时可能会有短暂的白屏(这是Flutter引擎初始化的间隙),这时候你的自定义Flutter启动页会在初始化完成后立刻显示。你可以在自定义启动页里加上加载动画或者和App风格一致的背景,来覆盖这个短暂的白屏,让体验更流畅。
内容来源于stack exchange




