我尝试在与第一个脚手架堆叠的小部件树顶部创建一个加载屏幕小部件。它在脚手架内工作得很好。当我 navigator.push 到另一个脚手架并尝试触发加载屏幕时,它不会出现在第二个脚手架上。它仅适用于第一个脚手架顶部。
我看到了一种使用单个脚手架应用程序的方法。但它不适合我的情况。有没有什么方法可以创建一个影响其下面所有脚手架的堆栈,或者使用全局加载屏幕、带有 block 的对话框的最佳方式是什么
最佳答案
创建全局加载屏幕或对话框的最佳方法是使用 get package路由管理功能,您所需要做的就是用以下内容包装您的小部件树
GetMaterialApp
而不是 MaterialApp
然后你就可以打电话了
Get.generalDialog(...)
或 Get.dialog(...)
应用程序中的任何位置。如果您决定使用其他方法,例如 flutter 的内置 showDialog(...)
并需要访问基础 MaterialApp 的上下文,您可以调用 Get.context
关于flutter - 使用 bloc 创建全局加载屏幕的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65172046/