在Flutter最新版本中,MaterialApp的context可以通过以下方式获得:

  1. 使用Navigator的of方法

在MaterialApp中,可以使用Navigator.of(context)方法获取context,例如:

MaterialApp(
  home: Builder(
    builder: (context) => RaisedButton(
      onPressed: () {
        Navigator.of(context).push(
          MaterialPageRoute(
            builder: (context) => MyPage(),
          ),
        );
      },
      child: Text('Go to MyPage'),
    ),
  ),
);

在这个例子中,我们在MaterialApp中嵌套了一个Builder,然后在Builder的builder函数中获取了context,通过这个context调用了Navigator.of方法。

  1. 使用Builder

另一种方法是使用Builder,例如:

MaterialApp(
  home: Builder(
    builder: (context) {
      return RaisedButton(
        onPressed: () {
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => MyPage(),
            ),
          );
        },
        child: Text('Go to MyPage'),
      );
    },
  ),
);

在这个例子中,我们在MaterialApp中嵌套了一个Builder,然后在Builder的builder函数中直接使用context来调用Navigator.push方法。

总结:在Flutter最新版本中,获取MaterialApp的context可以使用Navigator的of方法或者Builder。

Flutter最新版本获得MaterialApp的context

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

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