美文网首页
flutter_转场动画

flutter_转场动画

作者: 走停2015_iOS开发 | 来源:发表于2020-10-26 17:03 被阅读0次
  • PageRouteBuilder关键类
  • transitionDurationbuildTransitions 重写俩个关键方法
class CSCustomRouter extends PageRouteBuilder{

   final Widget widget;
    // ignore: missing_required_param
    CSCustomRouter(this.widget):super(
      transitionDuration: Duration(milliseconds: 500),
      pageBuilder: (BuildContext context,Animation<double> animation1,Animation<double> animation2){
        return widget;
      }
    );
    @override
  Widget buildTransitions(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
    // TODO: implement buildTransitions
    // 渐变效果
    // return FadeTransition(
    //   opacity: Tween(begin: 0.0,end: 1).animate(CurvedAnimation(
    //     parent: animation,
    //     curve: Curves.fastLinearToSlowEaseIn,
    //   )),
    //   child: child,
    // );
    // 缩放效果
    // return ScaleTransition(
    //   scale: Tween(begin: 0.0,end: 1.0).animate(CurvedAnimation(
    //     parent: animation,
    //     curve: Curves.fastOutSlowIn,
    //   )),
    //   child: child,
    // );
    // 旋转+缩放
    //   return RotationTransition(
    //     turns: Tween(begin: 0.0,end: 1.0).animate(CurvedAnimation(
    //       parent: animation,
    //       curve:Curves.fastOutSlowIn
    //     )),
    //     child: ScaleTransition(
    //     scale: Tween(begin: 0.0,end: 1.0).animate(CurvedAnimation(
    //       parent: animation,
    //       curve: Curves.fastOutSlowIn,
    //     )),
    //     child: child,
    //   ),
    //   );
    // 左右滑动动画
    return SlideTransition(
     position: Tween<Offset>(
       begin: Offset(1.0,0),
       end: Offset(0.0,0.0),
     ).animate(CurvedAnimation(
       parent: animation,
       curve: Curves.fastOutSlowIn,
     )),
      child: child,
    );
  }
  • 使用动画跳转push 传参可以使用构造函数
Navigator.push(context,CSCustomRouter(CSMineAutoPwdPage(arg1:AAA
,arg2:BBB)));

相关文章

网友评论

      本文标题:flutter_转场动画

      本文链接:https://www.haomeiwen.com/subject/vqtzmktx.html