问题标签 [flutter-dialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 如何在 Flutter 中离开屏幕前显示确认对话框
我想在处理或离开屏幕之前或最近显示警告 SnackBar 之前显示警报对话框,我该怎么做?
我知道如何显示对话框和 SnackBar,但我不知道我在哪里执行此操作,或者我何时尝试在处理生命钩子时执行此操作,但它会出错。由于上下文在显示对话框之前被处理。
flutter - 在处理当前小部件之前“仅”关闭所有对话框和弹出窗口,不应删除其他小部件
我一直在做一个项目,该项目需要我根据移动设备的orientation
.
例如,在portrait
方向的情况下,我需要显示一个小部件(比如说纵向小部件),而在landscape
方向的情况下,我需要显示另一个小部件(我们称之为横向小部件)。
我用过OrientationBuilder
实际问题:在方向更改时,所有Dialogs
和OptionMenu
或任何其他 Popup 类型的 Widget 都没有关闭。如何在方向更改时关闭它们?
重现问题的步骤:
- 运行下面给出的应用程序代码 [重现问题的示例应用程序]
- 长按应用程序主体以查看对话框或单击
OptionMenu
左上角 - 更改设备方向,您会看到小部件主体已根据方向更改,但
Popuped
小部件仍然可见。
注意:请注意,我需要针对此问题的全局解决方案。仅针对此代码提供解决方案对我没有任何用处。这是我为更好地理解问题而提供的示例代码,我根本不使用此代码。
示例应用代码:
我找不到任何可行的解决方案。有一些解决方案需要监听方向变化和基于新方向的推送/弹出小部件。
但它有点太多了,需要在纵向和横向小部件中添加相同类型的代码。如果我需要处理反向纵向和反向横向等附加方向,这也是不可扩展的。
更新
可行的解决方案之一是弹出所有小部件直到根小部件,然后根据方向推送新的小部件。这有效,但有副作用。
例如,如果我从纵向推送一些新小部件(假设是登录页面)。
然后,如果我将我的设备旋转到横向,它应该在横向模式下膨胀登录页面 UI,但根据弹出所有小部件直到根目录的代码。
我将看到的是横向小部件,而不是横向模式下的登录页面。
为了清楚起见:
我正在寻找一个答案来关闭所有打开的对话框/弹出窗口,然后它的父小部件是disposed
. 该解决方案不应依赖于从导航器中弹出整个小部件。
我从小部件树表示中发现的是,显示为弹出窗口(弹出菜单或对话框)的小部件与MaterialApp
.
查看这些屏幕截图:
横向小部件中的可见弹出菜单:
Landscape小部件中的可见对话框:
肖像小部件中的可见弹出菜单:
Portrait 小部件中的可见对话框:
所以,基本上我正在寻找一种方法来查找和弹出所有这些类型的小部件,我们可以在处理父小部件之前弹出这些小部件。我想这应该适用于所有小部件屏幕,并且不应该改变当前小部件上方的现有小部件树。
更新 2
我得到了一个成功删除对话框和弹出窗口的答案,但它有一个副作用,即在删除所有对话框/弹出窗口的同时,它还删除了添加在显示弹出窗口的根小部件顶部的任何小部件。
例如:在此示例中,考虑我从小portrait
部件访问的详细信息页面。因此,当小部件重建时,即使我没有打开任何对话框/弹出窗口,也会portrait
处理详细信息页面并且仅再次显示。portrait
flutter - 如何在 Flutter 中自动关闭对话框警报小部件?
如果这是一个菜鸟问题或代码看起来太基本,请原谅我,我是新手。我已经完成了相当多的谷歌搜索,但我还没有找到解决方案。
一旦未来功能开始,我想显示加载警报。处理 API 请求/响应时,如果发生错误,则应在 showErrorDialog 中显示,并且 LoadingDialog 应自动关闭。
现在,ErrorDialog 显示并可以使用其按钮将其关闭,但是 LoadingDialog 不会被关闭。
我可以用 Future.delayed 来做到这一点,但这只是一种解决方法,它有太多可变的结果。这是虚拟代码:
flutter - Flutter 在 showGeneralDialog 中插入 ListView
在Flutter
我想显示简单的ListView
内部showGeneralDialog
对话框。但我收到此错误:
flutter - Flutter 显示全屏对话框
我有以下功能来显示一个对话框,我使用媒体查询将其设置为 100%,但是当它运行时,我仍然看到对话框周围的白边。
如何归档全屏对话框?
flutter - 如何在颤动中显示没有上下文的对话框
我试图使用 Firebase 云评估,在此过程中,我只想在推送通知到达时向用户显示一个弹出对话框。showDialog
但是为了显示对话,我们需要将上下文对象作为is的参数之一BuildContext
。
我尝试了很多方法,但没有奏效。截至目前,我的代码如下所示:
注意:此代码是在一个单独的类中编写的,我试图在没有任何第三部分库的情况下实现它。
flutter - 有没有办法检测是否有任何打开的抽屉?
我有一个显示动画的 Flutter 应用程序。showModalBottomSheet
如果应用程序中的任何位置显示打开的抽屉或模式对话框(如 ),我希望动画暂停。
我可以直接处理特定抽屉的事件并自己管理状态。但是,我的应用程序中有多个抽屉需要跟踪,感觉工作量很大。是否有一个全局位置,我可以检查抽屉(或模式对话框)是否在应用程序的任何位置打开?
ios - Flutter:用警报对话框替换底部对话框
当我单击底部对话框的一个选项时,我希望底部对话框被一个警报对话框替换,这是我的 onTap 的功能代码:
flutter - 在提供程序中更改值时显示 showDialog
我的模型类中有一个扩展 ChangeNotifier 的布尔变量,当这个变量的值发生变化时,我想显示一个对话框并在它变为 false 时弹出这个对话框。我正在使用的代码:
当我将 processingFiles 设置为 true 时,我想显示一个 alertDialog。