flutter中的OverlayEntry和Stack小工具有什么不同?

e5nszbig  于 2022-12-19  发布在  Flutter
关注(0)|答案(3)|浏览(255)

我想在应用程序的所有小部件上显示一个浮动通知小部件(在MaterialApp小部件的顶部)。因此,我找到了两种可能的方法:
1.使用Stack小部件 Package MaterialApp小部件
1.将我的小工具作为覆盖条目插入(覆盖.of(context).insert(MyNotificationOverlay()))
因此,我很困惑如何选择最佳选项来提高此要求的应用程序性能(在整个应用程序中将通知显示为浮动小部件(例如,我希望显示此通知的上传进度))
谢谢你的帮忙

exdqitrt

exdqitrt1#

OverlayEntry创建在窗口小部件的顶部。但完成使用后,您将删除它。如果您可以写您的代码由Stack使用Stack窗口小部件。

amrnrhlw

amrnrhlw2#

Overlay是一种动态堆栈。每当你想在某个特定的时间显示一些小部件时(就像它会在堆栈中一样),我们就使用overlay。否则,当我们确定已经有一些东西以堆栈的形式出现时,我们就使用堆栈。

qq24tv8q

qq24tv8q3#

  • overlayentry* 使用自定义堆栈,但overlayEntry的问题是,当您使用它外部的一些小部件(如弹出菜单按钮)和编写文本表单字段时,它会重新构建自己。

相关问题