Routing 颤振-自定义路线转换将导致黑屏

Routing 颤振-自定义路线转换将导致黑屏,routing,dart,flutter,Routing,Dart,Flutter,我正在尝试从我的导航器自定义动画。以下是我当前的路线: class HelpRoute<T> extends MaterialPageRoute<T> { HelpRoute({ WidgetBuilder builder, }): super(builder: builder); @override Widget buildTransitions(BuildContext context, Animation<double&g

我正在尝试从我的导航器自定义动画。以下是我当前的路线:

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

  @override
  Widget buildTransitions(BuildContext context,
      Animation<double> animation,
      Animation<double> secondaryAnimation,
      Widget child)
  {
    if (settings.isInitialRoute)
      return child;

    return new SlideTransition(
      position: new FractionalOffsetTween(
        begin: FractionalOffset.topRight,
        end: FractionalOffset.topLeft,
      )
      .animate(
        new CurvedAnimation(
          parent: animation,
          curve: Curves.ease,
        )
      ),
      child: child,
    );
  }

  @override Duration get transitionDuration => const Duration(milliseconds: 400);
}
类帮助路由扩展MaterialPage路由{
帮助路线({
WidgetBuilder,
}):super(builder:builder);
@凌驾
小部件构建转换(构建上下文,
动画,,
动画二级动画,
小部件(子部件)
{
if(设置。isInitialRoute)
返回儿童;
返回新的幻灯片转换(
位置:新分馏塔(
开始:分馏Loffset.topRight,
结束:分馏loffset.topLeft,
)
.制作动画(
新曲线动画(
家长:动画,
曲线:曲线,
)
),
孩子:孩子,
);
}
@覆盖持续时间get transitionDuration=>const Duration(毫秒:400);
}
这个效果非常好,从右到左逐渐消失。但现在我想要从左到右的过渡。如果我把开始改成左上角,结束改成右上角,它会变得疯狂,最终变成黑屏


有没有其他的选择,我必须使用,以使这项工作?提前感谢

您希望新路线完全从屏幕左侧开始,这是一个-1.0,0.0的分数偏移。您希望它以0.0,0.0的分数偏移量结束,也称为
分数偏移量.topLeft
。将构造函数参数更改为
分馏loffsettween
,如下所示:

new FractionalOffsetTween(
    begin: const FractionalOffset(-1.0, 0.0),
    end: FractionalOffset.topLeft,
)

哇,太棒了!谢谢您知道如何在淡入页面上更改应用程序栏上的标准箭头,使其朝向右侧并位于右侧吗?请将这些参数用于应用程序栏。前导:新建容器(),操作:[新建图标按钮(图标:新建图标(主题.of(上下文).platform==TargetPlatform.iOS?Icons.arrow_forward_iOS:Icons.arrow_forward),按ON:(){Navigator.pop(上下文);},)