如何在 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: (_) => YourHomePage())); );
是的,您也可以使用 Future.delayed
来做到这一点。
随时更新你的答案:)
但是你想在main()
里面的什么地方使用它?
啊,我没注意到你用了then
,评论里的代码很难看懂,我刚读到你说用Future.delayed
,我就想用await
。让我现在更新答案以上是关于如何在 Flutter 应用中添加虚假加载? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在加载了 JSON API 数据的 tableview 单元格中保存复选标记属性?
在 Tableview 中为先前选择的行加载复选标记(已批准的用户)
如何在 Flutter 中从 Web 加载和呈现 PDF 文件