gpt4 book ai didi

Flutter Navigator - 从页面堆栈中交换页面

转载 作者:行者123 更新时间:2023-12-03 16:58:41 28 4
gpt4 key购买 nike

我的情况有点乏味。我正在向导航器推送 2 页
甲乙
B 被推到最后。
由于某些原因。我不想弹出 B 从 B 导航到 A。我想替换/交换它们。原因在于国家。我想保留 A 和 B 页面的状态,因为有些小部件的构建成本非常高(Unity View 小部件)。从 B 如何使用 Navigator 以便在不破坏我的页面的情况下我可以将 B 与 A 交换?
这是流程:

  • A 作为默认页面打开。
  • B被推
    Navigator.of(context).pushNamed();
    页面堆栈是 A - B
  • 从 B 我想导航到 A 同时仍然保持 B 页面活着。
  • -经过一些神奇的操作后,我失踪了 -
  • 页面堆栈是 B - A。用户看到页面 A。没有页面被破坏。他们被交换了。

  • 有没有办法在 Flutter 中做到这一点?

    最佳答案

    您可以使用 PageView对于简单的方法并像这样设置配置:

    PageController _pagerController = PageController(keepPage: true);

    PageView(
    physics: NeverScrollableScrollPhysics(),
    controller: _pagerController,
    children: [
    Page_A(),
    Page_B(),
    ],
    ),
    以及在页面之间切换:
    goNextPage() {
    _pagerController.animateToPage(
    currentPage + 1,
    duration: Duration(milliseconds: 500),
    curve: Curves.ease,
    );
    }

    goPrevPage() {
    _pagerController.animateToPage(
    currentPage - 1,
    duration: Duration(milliseconds: 500),
    curve: Curves.ease,
    );
    }
    我希望它对你有用。

    关于Flutter Navigator - 从页面堆栈中交换页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64598636/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com