如何在Flutter中弹出没有动画的屏幕

时间:2019-08-08 08:02:22

标签: flutter

基本上我想Navigator.of(context).pop();,但没有动画。

通过阅读文档,我看到您只有在推入路线时才能覆盖此动画。就我而言,我不知道在删除路线时是否要显示弹出动画,因此我需要一个解决方案,该解决方案可以让我指定在调用{{1 }}

这是可能吗?

1 个答案:

答案 0 :(得分:0)

要创建/弹出没有动画的页面,您可以像这样创建自定义页面。

class NoAnimationPage extends Page<dynamic> {
  const NoAnimationPage({
    LocalKey? key,
    required this.child,
  }) : super(key: key);

  final Widget child;

  @override
  Route<dynamic> createRoute(BuildContext context) => PageRouteBuilder<dynamic>(
        settings: this,
        pageBuilder: (_, __, ___) => child, 
        // don't wrap in an animation to create a page without animation.
  );
}

然后使用 NoAnimationPage 而不是 MaterialPageCupertinoPage