Flutter 如何在颤振中创建视差页面转换?
我试图在flutter中创建视差页面转换,当新页面向上滑动时,当前页面向上滑动。我见过Spotify、Reddit应用程序甚至三星原生报警应用程序(见下文)使用的这种转换 如果有人对我如何实现这种效果有什么想法(通过代码示例),我将非常感激Flutter 如何在颤振中创建视差页面转换?,flutter,dart,Flutter,Dart,我试图在flutter中创建视差页面转换,当新页面向上滑动时,当前页面向上滑动。我见过Spotify、Reddit应用程序甚至三星原生报警应用程序(见下文)使用的这种转换 如果有人对我如何实现这种效果有什么想法(通过代码示例),我将非常感激 查看您可以运行的这个片段,并查看SlideBottomUpRoute,它是管理页面之间转换动画的类: 导入“包装:颤振/材料.省道”; 类SlideBottomUpRoute扩展PageRouteBuilder{ 滑动门( {@required this.e
查看您可以运行的这个片段,并查看
SlideBottomUpRoute
,它是管理页面之间转换动画的类:
导入“包装:颤振/材料.省道”;
类SlideBottomUpRoute扩展PageRouteBuilder{
滑动门(
{@required this.enterWidget,
@需要此.oldWidget,
路由设置})
:超级(
转换持续时间:常量持续时间(毫秒:350),
设置:设置,
pageBuilder:(上下文、动画、第二动画)=>enterWidget,
transitionsBuilder:(上下文、动画、第二动画、子级)=>
堆叠(
儿童:[
幻灯片转换(
位置:吐温(
开始:Offset.zero,
结束:常数偏移(0,-1),
).制作动画(
曲线化(
父对象:动画,曲线:曲线.fastoutswowin),
),
孩子:oldWidget),
幻灯片转换(
位置:吐温(
开始:常量偏移量(0,1),
结束:偏移0.0,
).制作动画(
曲线化(
父对象:动画,曲线:曲线.fastoutswowin),
),
子项:enterWidget),
],
),
);
最终窗口小部件;
最终小部件;
}
void main(){
runApp(材料应用程序)(
标题:“导航基础”,
主页:FirstRoute(),
));
}
类FirstRoute扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“第一条路线”),
),
正文:中(
孩子:升起按钮(
子项:文本(“开放路线”),
已按下:(){
导航器。推(
上下文
SlideBottomUpRoute(enterWidget:SecondRoute(),oldWidget:this),
);
},
),
),
);
}
}
类SecondRoute扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“第二条路线”),
),
正文:中(
孩子:升起按钮(
已按下:(){
Navigator.pop(上下文);
},
child:Text('Go back!'),
),
),
);
}
}
结果如下:
您可以在
SlideBottomUpRoute
中修改动画中的偏移量
,以更改页面在转换中的移动方式。非常感谢。正是我想要的:)