获取没有上下文的叠加层

pit*_*zzo 6 flutter flutter-navigation

我需要从OverlayState无法访问当前上下文的服务中引用当前内容。我尝试使用BuildContext从导航键获取我的“技巧”,但是虽然这适用于对话框和导航,但对于此用例似乎无效。我尝试过以下方法:

Overlay.of(navigatorKey.currentContext, rootOverlay: false);
Overlay.of(navigatorKey.currentState!.context, rootOverlay: false);
Overlay.of(navigatorKey.currentState!.overlay!.context, rootOverlay: false);
Run Code Online (Sandbox Code Playgroud)

并且全部返回 null。从小部件 () 调用的同一代码段Overlay.of(context)会返回一个有效的OverlayState. 有什么方法可以实现这一点吗?

小智 2

如果您确实需要,Overlay可以立即获取。所以不要使用:

Overlay.of(navigatorKey.currentContext, rootOverlay: false);
Run Code Online (Sandbox Code Playgroud)

您可以使用:

navigatorKey.currentState!.overlay
Run Code Online (Sandbox Code Playgroud)