【问题标题】:Flutter launch new independent screenFlutter 推出新的独立屏幕
【发布时间】:2019-12-01 09:20:19
【问题描述】:

我无法启动新的屏幕小部件。我有 main.dart,我在其中使用 bottomNavigationBar 和 body 作为 ViewPager UI。现在我有 3 个底部选项卡,当我转到第二个选项卡的视图并单击一个按钮以启动另一个屏幕/视图时,使用:

onTap: () => Navigator.of(context).push(
                 MaterialPageRoute(
                     builder: (context) => ViewMyContactList(),
                 ),
            )

新屏幕取代了第二个标签的视图,当我转到第三个标签然后返回第二个标签时,新屏幕消失了,第二个标签的初始屏幕又回来了。此外,当新屏幕替换第二个屏幕的初始视图以及我在 Android 中执行系统后按时,应用程序会立即退出。

【问题讨论】:

  • 当你切换标签页时,标签页会从内存中卸载。当您切换回它正在重建时,这就是它再次加载默认选项卡的原因。您需要跟踪更改并加载正确的内容。
  • 或更改行为以将其保留在 ram 中。 stackoverflow.com/questions/51224420/…

标签: flutter dart flutter-layout


【解决方案1】:

你正在尝试做Multiple Navigators with BottomNavigationBar
您可以参考此文档了解详细信息https://medium.com/coding-with-flutter/flutter-case-study-multiple-navigators-with-bottomnavigationbar-90eb6caa6dbf

每个选项卡必须保留它自己的Page Route,您可以使用doc中的演示代码或
您可以使用以下两个包来帮助您

https://pub.dev/packages/multi_navigator_bottom_bar
帮助您更轻松地构建多导航器底部导航栏。

https://pub.dev/packages/nested_navigators Flutter 小部件,用于实现具有自己的路由堆栈的多个嵌套导航器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2021-11-19
    • 2015-11-28
    • 1970-01-01
    相关资源
    最近更新 更多