Flutter 颤振:如何在10分钟后已经有一些小部件的列中添加小部件

Flutter 颤振:如何在10分钟后已经有一些小部件的列中添加小部件,flutter,widget,delay,Flutter,Widget,Delay,我想在一列中绘制三个小部件,但第一个小部件要在10分钟后绘制。 {编辑:从昵称获得答案后,我尝试了Timer.duration,但它引发了错误:没有为类型“\u MainScreenState”定义方法“Timer”。请尝试将名称更正为现有方法的名称,或定义一个名为“Timer”的方法。我现在应该做什么} 多谢各位 class MainScreenPageUI扩展StatefulWidget{ @凌驾 _MainScreenState createState()=>\u MainScreenS

我想在一列中绘制三个小部件,但第一个小部件要在10分钟后绘制。 {编辑:从昵称获得答案后,我尝试了Timer.duration,但它引发了错误:没有为类型“\u MainScreenState”定义方法“Timer”。请尝试将名称更正为现有方法的名称,或定义一个名为“Timer”的方法。我现在应该做什么} 多谢各位

class MainScreenPageUI扩展StatefulWidget{
@凌驾
_MainScreenState createState()=>\u MainScreenState();
}
类_MainScreenState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(标题:文本(“此处有应用标题”),
正文:专栏(
儿童:[
Text('我希望此小部件在延迟后绘制),
文本(“第二个小部件”),
文本(“第三个小部件”),
],
),
);
}

}
尝试将其包装在
计时器
函数中,看看它是如何工作的

Timer(Duration(minutes: 10), () {
        Text('I want this widget to be drawn after some delay');
   }); 

您需要
导入'dart:async'以使此函数工作。

尝试类似的操作。这个想法是: -您可以设置一个局部变量来控制是否绘制文本(真/假)。 -在初始化状态下,设置计时器,该计时器将在10分钟后将变量翻转为true。它还将调用setState(),以便重建屏幕

(我没有尝试编译此文件,因此在第一次尝试时可能会抛出一些错误):

class MainScreenPageUI扩展StatefulWidget{
@凌驾
_MainScreenState createState()=>\u MainScreenState();
}
类_MainScreenState扩展状态{
bool drawFirstWidget=false;
@凌驾
void initState(){
super.initState();
计时器(持续时间(分钟:10),(){
setState((){drawFirstWidget=true});
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(标题:文本(“此处有应用标题”),
正文:专栏(
儿童:[
如果(drawFirstWidget)文本('我希望在一些延迟后绘制此小部件'),
文本(“第二个小部件”),
文本(“第三个小部件”),
],
),
);
}
}
class MainScreenPortraitPageUI extends StatefulWidget {
  @override
  _MainScreenState createState() => _MainScreenState();
}

class _MainScreenState extends State<MainScreenPortraitPageUI> {

  bool drawFirstWidget=false;

@override
void initState() {
    super.initState();
    Timer(Duration(minutes: 10), () {
setState(() {drawFirstWidget=true});
});
}

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("App title goes here")),
      body: Column(
        children: [
          if (drawFirstWidget) Text('I want this widget to be drawn after some delay'),
          Text("Second widget"),
          Text("Third widget"),
        ],
      ),
    );
  }
}