Flutter 如何使用颤振导航器推送多条路线

Flutter 如何使用颤振导航器推送多条路线,flutter,Flutter,如果我将颤振中的路线推到我应用程序的较深部分,有没有办法提供其他路线,以便可以自定义备份/备份导航?您可以连续多次呼叫;顶部下方的路线不会明显过渡,但它们会隐藏在下方。(编辑:事实证明这不是真的,至少在iOS上是这样,请参阅) 请注意,您还可以使用和等方法更改顶部管线下方的管线。这对于建立非线性导航体验非常有用。我解决了这一问题,方法是连续推送多条路线,而不使用动画来解决过渡可见性问题。到目前为止,它在iOS上对我来说运行良好。这里有一个方法 通过扩展MaterialPageRoute并覆盖bu

如果我将颤振中的路线推到我应用程序的较深部分,有没有办法提供其他路线,以便可以自定义备份/备份导航?

您可以连续多次呼叫;顶部下方的路线不会明显过渡,但它们会隐藏在下方。(编辑:事实证明这不是真的,至少在iOS上是这样,请参阅)


请注意,您还可以使用和等方法更改顶部管线下方的管线。这对于建立非线性导航体验非常有用。

我解决了这一问题,方法是连续推送多条路线,而不使用动画来解决过渡可见性问题。到目前为止,它在iOS上对我来说运行良好。这里有一个方法

通过扩展
MaterialPageRoute
并覆盖
buildTransitions
,创建
NoAnimationPageRoute

class NoAnimationPageRoute<T> extends MaterialPageRoute<T> {
  NoAnimationPageRoute({ WidgetBuilder builder }) : super(builder: builder);

  @override
  Widget buildTransitions(
      BuildContext context,
      Animation<double> animation,
      Animation<double> secondaryAnimation,
      Widget child) {
    return child;
  }
}
连续多次调用该函数:

pushWithoutAnimation(Screen1());
pushWithoutAnimation(Screen2());
pushWithoutAnimation(Screen3());

谢谢Flatter怎么知道最后一次调用Navigator.push()需要等待多长时间,多个调用是否应该链接起来?事实证明,它不知道。我提交了(如果你喜欢冒险,请自行修复)@YuyaMatsuo-Oh-man!刚刚用“NoAnimationPageRoute”更新了答案。我最初一定是在匆忙中发布了这篇文章:/在iOS上,在子类NoAnimationPageRoutes上,回击手势似乎不起作用。
pushWithoutAnimation(Screen1());
pushWithoutAnimation(Screen2());
pushWithoutAnimation(Screen3());