在Flutter中构建pageRouteBuilder的转换

问题描述 投票:0回答:1

我已经通过动态路由生成在我的flutter应用程序中实现了路由

onPressed:() => Navigator.of(context).push(new PageRouteBuilder( pageBuilder: (_, __, ___) => new Video(), )),

然而,从一个页面到另一个页面的转换是即时的,没有原生的“从左边开始”或“在底部”动画,这取决于你是针对iOS还是Android。有没有办法实现本机OS转换,而无需从头开始实现动画。

我知道你可以将transitionBuilder参数传递给PageRouteBuilder来创建过渡,但到目前为止,我还没有找到有关如何创建必要过渡或是否有预制过渡的信息。任何帮助实现上面提到的原生过渡将不胜感激!

dart flutter
1个回答
2
投票

你可以使用MaterialPageBuilder而不是PageRouteBuilder

要播放视频,您可以查看this

例:

import 'package:chewie/chewie.dart';

final playerWidget = new Chewie(
  new VideoPlayerController(
    'https://flutter.github.io/assets-for-api-docs/videos/butterfly.mp4'
  ),
  aspectRatio: 3 / 2,
  autoPlay: true,
  looping: true,
);

 onPressed:() => Navigator.of(context).push(new MaterialPageRoute(
   pageBuilder: (BuildContext context) {
      return new Container(child: playerWidget);
   },
 )),

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.