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

标签 flutter bloc scaffold flutter-widget

我尝试在与第一个脚手架堆叠的小部件树顶部创建一个加载屏幕小部件。它在脚手架内工作得很好。当我 navigator.push 到另一个脚手架并尝试触发加载屏幕时,它不会出现在第二个脚手架上。它仅适用于第一个脚手架顶部。

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

enter image description here

最佳答案

创建全局加载屏幕或对话框的最佳方法是使用 get package路由管理功能,您所需要做的就是用以下内容包装您的小部件树

GetMaterialApp 而不是 MaterialApp

然后你就可以打电话了

Get.generalDialog(...)Get.dialog(...)

应用程序中的任何位置。如果您决定使用其他方法,例如 flutter 的内置 showDialog(...) 并需要访问基础 MaterialApp 的上下文,您可以调用 Get.context

关于flutter - 使用 bloc 创建全局加载屏幕的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65172046/

相关文章:

flutter - 我应该在 flutter 中使用作用域提供者还是全局提供者?

ruby-on-rails - Rails 3.1.10 中脚手架生成的 View 规范中缺少部分错误

flutter - 无法创建 Aqueduct 项目

flutter - 如何让最小的 child 进入盒子?

flutter - 在收到完整 header 之前关闭连接

flutter - 如何为Bloc提供范围参数?参数化的团体或带有参数的事件?

flutter - 我几乎每次都将 Stateless Widget 与 BLoC 一起使用。我错了吗?

Flutter bloc pattern 多次重复调用函数

grails - Grails中的脚手架出现404错误

ruby - dynamic_matchers.rb:55:in `method_missing':ActiveRecord::Base:Class 的未定义方法 `migration_error=' (NoMethodError)