如何在 Flutter 应用中添加虚假加载? [复制]

Posted

技术标签:

【中文标题】如何在 Flutter 应用中添加虚假加载? [复制]【英文标题】:How do I add fake loading in Flutter app? [duplicate] 【发布时间】:2020-01-05 18:03:35 【问题描述】:

我的应用不需要加载任何内容,但我想给它一个 2 秒的加载屏幕以显示视觉效果。我该怎么做?

【问题讨论】:

【参考方案1】:

创建一个DummyPage 小部件,它将在 2 秒后将您带到 YourHomePage(您的应用的主要小部件)。

更新:我之前使用过Timer,但它需要导入额外的库,您可以按照@anmol.majhail 的建议使用Future.delayed

void main() 
  runApp(MaterialApp(home: DummyPage()));


class DummyPage extends StatefulWidget 
  @override
  _DummyPageState createState() => _DummyPageState();


class _DummyPageState extends State<DummyPage> 
  @override
  void initState() 
    super.initState();
    // here is the logic 
    Future.delayed(Duration(seconds: 2)).then((__) 
      Navigator.push(context, MaterialPageRoute(builder: (_) => YourHomePage()));
    );
  

  @override
  Widget build(BuildContext context) 
    return Container(); // this widget stays here for 2 seconds, you can show your app logo here
  

【讨论】:

由于 Timer 类需要导入 import 'dart:async';,另一种方式可以使用 - Future.delayed - 简单且无需导入 - Future.delayed(Duration(seconds: 2), () Navigator.push( context, MaterialPageRoute(builder: (_) =&gt; YourHomePage())); ); 是的,您也可以使用 Future.delayed 来做到这一点。 随时更新你的答案:) 但是你想在main()里面的什么地方使用它? 啊,我没注意到你用了then,评论里的代码很难看懂,我刚读到你说用Future.delayed,我就想用await。让我现在更新答案

以上是关于如何在 Flutter 应用中添加虚假加载? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在加载了 JSON API 数据的 tableview 单元格中保存复选标记属性?

在 Tableview 中为先前选择的行加载复选标记(已批准的用户)

如何在 Flutter 中从 Web 加载和呈现 PDF 文件

高级表单验证 - 如何在用户完成后在字段旁边添加复选标记? --Javascript [关闭]

如何在 Flutter 中重新加载 webview?

如何将 JSON 资产加载到 Flutter 应用程序中?