在Flutter中删除导航上的覆盖

比沙尔

Overlay.of(context)用来在单击按钮显示一些内容。但是有两个问题:

  • 导航到下一个屏幕时,不会删除叠加层。
  • 内部使用下拉按钮。但是菜单项显示在其下方。

这是“预期的输出”。 预期产量

当前输出在此屏幕截图中。

电流输出

因此,如何在导航时移除覆盖层并正确显示下拉菜单?如果无法使用叠加层,是否有任何解决方法?

PS:NavigatorKey如屏幕截图所示,单击固定侧边栏中的名称时,用于更改表。

比沙尔

我找到了解决问题的方法。

  • stackoverflow答案所示,在Overlay使用RouteAware+进行导航时其删除RouteObserver
  • 对于在叠加层下方呈现的下拉菜单项,有一个默认的下拉按钮叉,可将下拉项的叠加层推入root navigator而不是嵌套的导航器,并将其显示在顶部。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章