首页 > 解决方案 > 在 Flutter 中获取全局上下文

问题描述

有什么办法get the global context of Material App in Flutter。不是特定屏幕的上下文。

我正在尝试获取上下文,但它给了我特定屏幕的上下文,但我想要 MaterialApp 的上下文。

标签: flutterdartflutter-layout

解决方案


如果上述解决方案不起作用,请尝试此解决方案。

  1. 创建类。这里它命名为NavigationService

    class NavigationService { 
      static GlobalKey<NavigatorState> navigatorKey = 
      GlobalKey<NavigatorState>();
    }
    
  2. 在 main.dart 中设置 MaterialApp 的 navigatorKey 属性

    Widget build(BuildContext context) {
      return MaterialApp(
        navigatorKey: NavigationService.navigatorKey, // set property
      )
    }
    
  3. 伟大的!现在您可以在任何您想要的地方使用,例如

    print("---print context: 
      ${NavigationService.navigatorKey.currentContext}");
    

推荐阅读