我正在尝试使用 PageRouteBuilder 实现一个漂亮的简单淡入淡出动画,从一条导航路线到另一条导航路线。我希望当前路由完全淡出,然后在旧路由消失后,新路由应该淡入。
到目前为止,在我的 PageRouteBuilder 类中,我可以将新路由从 0 淡入到 1,但我希望旧路由先完全淡出,然后在旧路由淡出后让新路由淡入。到目前为止,在我当前的代码中,一旦新路由完成淡入,旧路由就会突然消失。
我还想强调,我不希望它们同时淡出/淡入,而是让旧路由淡出然后淡入以使新路由顺序发生。
import 'package:flutter/material.dart';
class FadePageTransition extends PageRouteBuilder {
final Widget child;
![图片[1]-secondaryAnimation属性控制旧路线如何离开的动画,不是吗?-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655435940478_1.png)
FadePageTransition({
required this.child,
}) : super(
transitionDuration: const Duration(milliseconds: 600),
pageBuilder: (context, animation, secondaryAnimation) => child,
);
![图片[2]-secondaryAnimation属性控制旧路线如何离开的动画,不是吗?-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655435940478_3.jpg)
@override
Widget buildTransitions(BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) => FadeTransition(
![图片[3]-secondaryAnimation属性控制旧路线如何离开的动画,不是吗?-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655435940478_4.png)
opacity: animation,
child: child,
);
}
我知道secondaryAnimation 属性控制旧路线如何离开的动画,不是吗?但我只是不确定在这种情况下它会如何工作。
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容