在Flutter中获取全局上下文
有什么办法可以get the global context of Material App in Flutter。不是特定屏幕的上下文。
我正在尝试获取上下文,但它为我提供了特定屏幕的上下文,但我想要 MaterialApp 的上下文。
回答
将 a 分配GlobalKey()给MaterialApp您可以放在单独的类中的,我们称之为App:
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: App.materialKey, // GlobalKey()
)
}
现在,无论您想要获取context的MaterialApp,您只需调用:
App.materialKey.currentContext
我在这里打印MaterialApp context:
print('Material App Context : ${App.materialKey.currentContext}');
OUTPUT:
flutter: Material App Context : MaterialApp-[GlobalKey#4fab4](state: _MaterialAppState#4bb44)