一尘不染

Flutter延迟一段时间后如何运行代码?

flutter

我想在构建Widget后一定的延迟后执行一个函数。在Flutter中这样做的惯用方式是什么?

我要实现的目标:我想从默认的FlutterLogoWidget 开始,然后style在一段时间后更改其属性。


阅读 702

收藏
2020-08-13

共1个答案

一尘不染

想通了😎

class AnimatedFlutterLogo extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => new _AnimatedFlutterLogoState();
}

class _AnimatedFlutterLogoState extends State<AnimatedFlutterLogo> {
  Timer _timer;
  FlutterLogoStyle _logoStyle = FlutterLogoStyle.markOnly;

  _AnimatedFlutterLogoState() {
    _timer = new Timer(const Duration(milliseconds: 400), () {
      setState(() {
        _logoStyle = FlutterLogoStyle.horizontal;
      });
    });
  }

  @override
  void dispose() {
    super.dispose();
    _timer.cancel();
  }

  @override
  Widget build(BuildContext context) {
    return new FlutterLogo(
      size: 200.0,
      textColor: Palette.white,
      style: _logoStyle,
    );
  }
}
2020-08-13