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

Flutter加载页异常:白屏5秒后短暂显示即跳转,如何让加载页显示5秒?

解决加载页显示5秒后跳转的问题

问题根源

你加载页的代码中,Future.delayed(const Duration(seconds: 5)) 没有等待延迟完成就直接执行了页面跳转,导致延迟逻辑完全失效。具体来说,这段代码仅创建了一个5秒后触发的异步任务,但未添加等待逻辑,代码会立刻执行后续的Navigator.pushReplacementNamed,使得加载页刚渲染完成就被跳转到首页。你看到的5秒白屏其实是应用启动初始化的耗时,并非加载页的显示时间。

修复方案

只需让代码等待延迟结束后再执行跳转,以下两种方式都可以实现:

方式一:修改didChangeDependencies方法

保留原有的didChangeDependencies结构,添加await等待延迟完成:

@override
void didChangeDependencies() {
  super.didChangeDependencies();
  SchedulerBinding.instance.addPostFrameCallback((_) async {
    await Future.delayed(const Duration(seconds: 5));
    Navigator.pushReplacementNamed(context, '/home');
  });
}

方式二:直接在initState中处理(更简洁)

删除didChangeDependencies方法,将逻辑移到initState里:

@override
void initState() {
  super.initState();
  Future.delayed(const Duration(seconds: 5), () {
    Navigator.pushReplacementNamed(context, '/home');
  });
}

修改完成后,加载页会正常显示5秒,之后自动跳转到首页。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 16:47:39