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

Flutter自定义启动页在Android 10不显示图标问题求助

解决Android 10上flutter_native_splash仅显示背景不显示图标的问题

从你的配置和代码里梳理出关键问题,按以下步骤排查修复:

1. 修正pubspec.yaml的配置错误

你的配置存在两处致命问题:

  • 颜色值多写了一个#:所有"##1e1b3a"格式的颜色值需要改为"#1e1b3a"(包括根节点的color和android_12下的颜色配置)
  • android_12下的属性拼写错误:icon_backgroound_color应为icon_background_color

修正后的flutter_native_splash配置:

flutter_native_splash:
  color: "#1e1b3a"
  android: true
  ios: false
  fullscreen: true
  icon: "images/adecop-logo.png"
  android_12:
    icon_background_color: "#1e1b3a"

2. 清理缓存并重新生成启动页资源

旧缓存资源可能导致异常,执行以下操作:

  • 运行 flutter clean 清理项目缓存
  • 运行 flutter pub run flutter_native_splash:create 重新生成原生启动页资源
  • 卸载测试设备上的旧应用,重新安装

3. 检查Android 10(API 29)的原生配置

Android 10不属于Android 12+范畴,不会读取android_12下的配置,需确保低版本启动页布局正确:

  • 打开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="@color/flutter_native_splash_background" />
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/flutter_native_splash_icon" />
    </item>
</layer-list>
  • 确认android/app/src/main/AndroidManifest.xml中,启动Activity的android:theme指向@style/LaunchTheme,未被其他自定义主题覆盖

4. 修正main.dart的重复初始化问题

你重复调用了WidgetsFlutterBinding.ensureInitialized(),可能导致启动页逻辑异常,修正后的代码:

Future main() async {
  final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
  FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);

  await Future.delayed(const Duration(seconds: 1));

  FlutterNativeSplash.remove();
  runApp(const HomePage());
}

5. 排查图标本身的问题

  • 确认images/adecop-logo.png路径正确、文件存在,且为透明背景的PNG格式
  • 图标尺寸建议至少108x108dp,避免过大或过小导致显示异常
  • 可临时替换为简单测试图标(如Flutter默认图标),排除图标本身的兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:53:15