我为我的iOS项目进行了自定义转换,现在我想将该项目移至Flutter。过渡正在淡出旧页面,而正在淡入新页面。
但是我无法通过重写PageRoute来实现。
我对此进行了一些研究:
有一个类似的问题 Animate route that is going out / being replaced
从接受的答案中,我知道有一个参数“ secondaryAnimation”可能对实现它有用,但是在尝试使用其中的代码后,我仍然无法为旧页面设置动画,所有过渡都发生在新页面上(“子”小部件)。
我可以从buildTransition方法中获取一个“旧页面”实例进行动画制作吗?还是有更好的方法来动画旧页面?
谢谢!
答案 0 :(得分:1)
我认为在过渡到另一页时使用secondaryAnimation
。因此,对于您的初始路线,您必须使用secondaryAnimation
指定要消失的动画,而在第二页上,请使用animation
为其显示动画。
在创建第一条路线时必须使用secondaryAnimation
有点尴尬,因为这意味着它将用于离开该路线的任何过渡。因此,例如,PageRouteBuilder
不能让旧页面在过渡到页面B时向左滑动,而在过渡到C页面时向上滑动。