如何移除Flutter默认启动页?实现仅显示自定义动画启动页
移除默认启动页,只保留自定义动画启动页
你看到的默认启动页是Android/iOS系统层面的原生启动屏,和animated_splash_screen实现的Flutter端启动页是独立模块,需要分别修改两个平台的配置来彻底移除默认启动屏:
Android 端配置修改
- 打开项目路径
android/app/src/main/res/drawable/launch_background.xml(若文件不存在则手动创建) - 将原有内容替换为透明背景配置,让系统启动时不再显示默认纯色启动页:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" /> </layer-list>
- 确认
AndroidManifest.xml中MainActivity的theme引用了对应配置:
<activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" ...>
同时检查styles.xml里的LaunchTheme指向透明背景:
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> <item name="android:windowBackground">@drawable/launch_background</item> </style>
iOS 端配置修改
- 打开项目路径
ios/Runner/Assets.xcassets/LaunchImage.imageset - 删除目录内所有默认启动图文件(如
LaunchImage.png系列) - 准备一张完全透明的图片(尺寸匹配原有启动图规格即可),命名后替换到目录中,同时修改
Contents.json配置:
{ "images" : [ { "idiom" : "universal", "filename" : "transparent.png", "scale" : "1x" }, { "idiom" : "universal", "filename" : "transparent.png", "scale" : "2x" }, { "idiom" : "universal", "filename" : "transparent.png", "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" } }
也可直接通过Xcode操作:打开Runner项目的Assets.xcassets,选中LaunchImage删除所有现有图片,添加透明图并适配全尺寸。
关键注意事项
- 修改完成后必须完全重启应用(禁用热重载/热重启),才能生效
- 若仍显示默认启动页,可尝试清理Android应用缓存、删除iOS模拟器内应用后重新安装
内容的提问来源于stack exchange,提问作者Farid Ahmadov
相关产品推荐
相关产品推荐

