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

Flutter启动页图片无法显示:图片位置或主页设置是否有误?

Flutter启动页图片无法显示问题排查

针对你遇到的启动页图片不显示问题,从代码和配置层面排查几个关键点:

1. 必须检查pubspec.yaml的资源配置

Flutter不会自动识别assets文件夹下的资源,必须在pubspec.yaml中声明:

flutter:
  # 其他配置...
  assets:
    - assets/todo3.png

注意:

  • 缩进必须严格遵循YAML格式,assets:和- assets/todo3.png前面的空格不能出错
  • 确保路径和你实际的图片位置完全一致

2. 确认图片文件的实际位置

  • 图片必须放在项目根目录的assets文件夹下(如果没有该文件夹,手动创建)
  • 文件名和后缀要和代码中的'assets/todo3.png'完全匹配,注意大小写(比如iOS系统对文件大小写敏感)

3. 修正State类中的初始化方法错误

你的_SplashScreenState里写了void init(),但Flutter的State初始化方法是initState(),而且需要加@override注解,否则loadDatas()不会被执行(虽然这不是图片不显示的直接原因,但会导致启动页的延时逻辑失效)。修正后的代码:

class _SplashScreenState extends State<SplashScreen> {
  @override
  void initState() {
    super.initState();
    loadDatas();
  }

  Future<void> loadDatas() async {
    await Future.delayed(const Duration(seconds: 2));
    // 这里可以添加跳转首页的逻辑,比如 Navigator.pushReplacement(...)
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        child: Image.asset('assets/todo3.png'),
      ),
    );
  }
}

4. 将SplashScreen设为主页是合理的

把SplashScreen作为MaterialApp的home是常规做法,这不是图片不显示的原因。

如果以上步骤都检查完毕,重启Flutter应用(热重载可能不生效,需要冷启动),图片应该就能正常显示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:45:13