Flutter 使用bloc创建全局加载屏幕的最佳方法?

Flutter 使用bloc创建全局加载屏幕的最佳方法?,flutter,bloc,scaffold,flutter-widget,Flutter,Bloc,Scaffold,Flutter Widget,我试图在小部件树的顶部创建一个加载屏幕小部件,该小部件树与第一个支架堆叠在一起。它在那个脚手架里工作得很好。当我将navigator.push移到另一个scaffold并尝试触发加载屏幕时,它不会出现在第二个scaffold上。它只能在第一个脚手架的顶部工作 我看到一个单一的脚手架应用程序的方法。但这不适合我的情况。是否有任何方法可以创建一个影响其下方所有脚手架的堆栈,或者使用全局加载屏幕、带有BLOC的对话框的最佳方法是什么 创建全局加载屏幕或对话框的最佳方法是使用路由管理功能,您只需使用 G

我试图在小部件树的顶部创建一个加载屏幕小部件,该小部件树与第一个支架堆叠在一起。它在那个脚手架里工作得很好。当我将navigator.push移到另一个scaffold并尝试触发加载屏幕时,它不会出现在第二个scaffold上。它只能在第一个脚手架的顶部工作

我看到一个单一的脚手架应用程序的方法。但这不适合我的情况。是否有任何方法可以创建一个影响其下方所有脚手架的堆栈,或者使用全局加载屏幕、带有BLOC的对话框的最佳方法是什么


创建全局加载屏幕或对话框的最佳方法是使用路由管理功能,您只需使用

GetMaterialApp
而不是
MaterialApp

然后你可以打电话

Get.generaldialdialog(…)
Get.dialog(…)


应用程序中的任意位置。如果您决定使用另一种方法,如Flatter的内置
showDialog(…)
,并且需要访问基础材料应用程序的上下文,您可以调用
Get.context

创建全局加载屏幕或对话框的最佳方法是使用路由管理功能,您只需使用

GetMaterialApp
而不是
MaterialApp

然后你可以打电话

Get.generaldialdialog(…)
Get.dialog(…)


应用程序中的任意位置。如果您决定使用另一种方式,如Flatter内置的
showDialog(…)
,并且需要访问基础材料应用程序的上下文,您可以调用
Get.context

“始终在顶部”模式在Flatter中使用导航器实现。像这样的东西只是导航器,不管发生什么,它们都能很好地屏蔽屏幕。另一种方法是将
MaterialApp
包装在
堆栈中。根据在应用程序顶部呈现的小部件的不同,这有点难做到,因为
MaterialApp
为小部件提供
ThemeData
。您必须进行一些手动样式设置。“始终在顶部”模式是通过颤振中的导航器实现的。像这样的东西只是导航器,不管发生什么,它们都能很好地屏蔽屏幕。另一种方法是将
MaterialApp
包装在
堆栈中。根据在应用程序顶部呈现的小部件的不同,这有点难做到,因为
MaterialApp
为小部件提供
ThemeData
。你得做些手工造型。太好了!直截了当。谢谢,Apt!直截了当。非常感谢。