Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在颤振中创建视差页面转换?_Flutter_Dart - Fatal编程技术网

Flutter 如何在颤振中创建视差页面转换?

Flutter 如何在颤振中创建视差页面转换?,flutter,dart,Flutter,Dart,我试图在flutter中创建视差页面转换,当新页面向上滑动时,当前页面向上滑动。我见过Spotify、Reddit应用程序甚至三星原生报警应用程序(见下文)使用的这种转换 如果有人对我如何实现这种效果有什么想法(通过代码示例),我将非常感激 查看您可以运行的这个片段,并查看SlideBottomUpRoute,它是管理页面之间转换动画的类: 导入“包装:颤振/材料.省道”; 类SlideBottomUpRoute扩展PageRouteBuilder{ 滑动门( {@required this.e

我试图在flutter中创建视差页面转换,当新页面向上滑动时,当前页面向上滑动。我见过Spotify、Reddit应用程序甚至三星原生报警应用程序(见下文)使用的这种转换

如果有人对我如何实现这种效果有什么想法(通过代码示例),我将非常感激


查看您可以运行的这个片段,并查看
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
中修改动画中的
偏移量
,以更改页面在转换中的移动方式。

非常感谢。正是我想要的:)