如何移除Flutter启动页图标周围的白色方块?
解决Flutter Native Splash图标周围白色方块问题
1. 检查pubspec.yaml核心配置
确保flutter_native_splash的配置完全匹配你的需求,重点关注背景和图标相关设置:
- 替换默认白色
color为你期望的启动页背景色,或配置background_image - 针对Android 12+,必须在
android_12节点设置icon_background_color为透明(#00000000)或与主背景色一致的值,示例配置:
flutter_native_splash: color: "#1a1a1a" # 替换为你的目标背景色 icon: "assets/app-icon.png" android_12: icon: "assets/app-icon-android12.png" icon_background_color: "#00000000" # 透明背景,消除图标白块 background_color: "#1a1a1a"
- 确认你的图标资源是透明背景的PNG格式,若图标本身自带白色边框,先处理图片源文件
2. 强制清理并重新生成启动页
缓存残留会导致配置不生效,执行以下命令彻底重置:
flutter clean flutter pub get flutter pub run flutter_native_splash:create --force
注意:
--force会覆盖现有原生启动页资源,若有自定义原生文件请提前备份
3. 手动检查原生项目配置
Android端
- 打开
android/app/src/main/res/drawable/launch_background.xml,确认背景节点没有硬编码的白色值 - 针对Android 12+,检查
android/app/src/main/res/values-v31/styles.xml,确保windowSplashScreenBackground和windowSplashScreenIconBackgroundColor与配置一致
iOS端
- 打开
ios/Runner/Assets.xcassets/LaunchImage.imageset,验证启动图和图标均为透明背景资源 - 检查
Info.plist中的UILaunchScreen配置,确认背景色参数设置正确
如果以上步骤仍未解决问题,建议贴出你的pubspec.yaml中flutter_native_splash的完整配置,方便进一步排查。
内容的提问来源于stack exchange,提问作者Elena Soteriou
相关产品推荐
相关产品推荐

