【发布时间】:2020-01-05 18:03:35
【问题描述】:
我的应用不需要加载任何内容,但我想给它一个 2 秒的加载屏幕以显示视觉效果。我该怎么做?
【问题讨论】:
标签: flutter
我的应用不需要加载任何内容,但我想给它一个 2 秒的加载屏幕以显示视觉效果。我该怎么做?
【问题讨论】:
标签: flutter
创建一个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
}
}
【讨论】:
import 'dart:async';,另一种方式可以使用 - Future.delayed - 简单且无需导入 - Future.delayed(Duration(seconds: 2), () { Navigator.push( context, MaterialPageRoute(builder: (_) => YourHomePage())); });
Future.delayed 来做到这一点。
main()里面的什么地方使用它?
then,评论里的代码很难看懂,我刚读到你说用Future.delayed,我就想用await。让我现在更新答案