1. ホーム
  2. ヒラメキ

[解決済み】Flutterで少し遅れてからコードを実行する方法は?

2022-04-09 14:51:06

質問

Widgetがビルドされた後、ある一定時間後に関数を実行したい。Flutterでこれを行う慣用的な方法は何でしょうか?

実現しようとしていること デフォルトの FlutterLogo ウィジェットを変更し、その style プロパティを指定します。

解決方法は?

解決した?

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,
    );
  }
}