Flutter 中的 OverlayEntry 和 Stack 小部件有啥区别?
Posted
技术标签:
【中文标题】Flutter 中的 OverlayEntry 和 Stack 小部件有啥区别?【英文标题】:What is the diffrent between OverlayEntry and Stack widget in flutter?Flutter 中的 OverlayEntry 和 Stack 小部件有什么区别? 【发布时间】:2021-03-28 04:33:42 【问题描述】:我想在应用程序的整个小部件上显示一个浮动通知小部件(在 MaterialApp 小部件的顶部)。 所以我找到了两种可能的方法:
-
用 Stack 小部件包装 MaterialApp 小部件
将我的小部件插入为 OverlayEntry (Overlay.of(context).insert(MyNotificationOverlay()))
所以我很困惑选择最佳选项来提高应用程序的性能以满足此要求(将通知显示为整个应用程序的浮动小部件(例如,我想通过此通知显示上传进度))
感谢您的帮助
【问题讨论】:
【参考方案1】:OverlayEntry
在小部件顶部创建。但用完后你会删除它。如果您可以通过Stack
编写代码,请使用Stack
小部件。
【讨论】:
【参考方案2】:叠加是一种动态堆栈。每当您想在某个特定时间显示一些小部件(就像它在堆栈中一样)时,我们都会使用覆盖。否则,当我们确定已经有一些东西以堆栈的形式出现时,我们使用堆栈。
【讨论】:
以上是关于Flutter 中的 OverlayEntry 和 Stack 小部件有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章