Flutter 提供了一个 WidgetsBindingObserver 接口,可以用来监听 widget 的生命周期。具体实现如下:

class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.resumed) {
      // widget 构建完毕
      print('widget 构建完毕');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

在这个例子中,我们使用 WidgetsBindingObserver 接口来监听 AppLifecycleState 的变化,当应用程序从后台切换到前台时,我们可以得知 widget 已经构建完毕。

flutter如何监听一个widget是否构建完毕

原文地址: https://www.cveoy.top/t/topic/bec0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录