You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 12下Flutter启动屏无法全程全屏的解决方案咨询

解决Flutter启动屏初始显示圆形图标、无法全程全屏的问题

核心原因

你看到的初始圆形图标是Android 12+系统默认的启动屏(基于应用自适应图标),而非flutter_native_splash生成的自定义启动屏。问题出在pubspec.yaml的Android 12配置错误,加上手动修改Android配置文件导致的冲突。

解决方案

1. 恢复Android配置文件(禁用手动修改)

flutter_native_splash会自动生成启动屏所需的Android配置文件,手动修改会导致配置冲突:

  • 备份android/app/src/main/AndroidManifest.xml、android/app/src/main/res/values/styles.xml、android/app/src/main/res/drawable/launch_background.xml
  • 运行命令清除缓存:
    flutter clean
    
  • 删除上述三个文件,让插件重新生成正确的配置。

2. 修正pubspec.yaml的启动屏配置

将Android 12部分的image替换为background_image(image是前景图标属性,会生成圆形样式的启动屏),移除不需要的icon_background_color:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  flutter_native_splash: ^2.2.9

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0

flutter_native_splash:
  color: "#ffffff"
  image: assets/images/rasta.png
  color_dark: "#121212"
  image_dark: assets/images/rasta.png
  fullscreen: true
  
  android_12:
    background_image: assets/images/rasta.png
    background_image_dark: assets/images/rasta.png
    fullscreen: true

3. 重新生成启动屏资源

运行命令让插件生成最新的启动屏配置:

flutter pub run flutter_native_splash:create

4. 验证效果

重新编译运行应用,启动屏将全程显示全屏图片,不再出现初始圆形图标。

补充说明

  • Android 12+的Splash Screen API优先级高于传统的launch_background.xml,必须通过flutter_native_splash的android_12配置项指定全屏背景图,才能覆盖系统默认的自适应图标启动屏。
  • 确保应用的flutterEmbedding版本为2(你的配置已满足),这是flutter_native_splash正常工作的前提。

内容的提问来源于stack exchange,提问作者Kevnlan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:30:45