【发布时间】:2020-01-06 10:38:21
【问题描述】:
我在颤振文档中给出的页面路由代码下方
// Within the `FirstRoute` widget
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
}
但它在推送和弹出路由时提供了一些动画。
对于Android,页面的入口过渡滑动页面 向上并淡入。退出过渡是相同的,但在 反向。
过渡适应平台,在 iOS 上,页面滑动 从右侧进入并反向退出。页面也切换到 当另一个页面进入以覆盖它时,它会留在视差中。 (这些 方向在从右到左阅读的环境中翻转 方向。)
有没有办法在没有任何动画的情况下路由到下一页?
编辑: 请检查整个代码:
class MyApp extends StatelessWidget {
final routes = <String, WidgetBuilder>{
SecondRoute.tag: (context) => SecondRoute(),
};
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter Routes",
home: new FirstRoute(),
routes: routes,
onGenerateRoute: (routeSettings) {
if (routeSettings.name == SecondRoute.tag)
return PageRouteBuilder(pageBuilder: (_, a1, a2) => SecondRoute());
return null;
},
);
}
}
class FirstRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Route'),
),
body: Center(
child: RaisedButton(
child: Text('Open route'),
onPressed: () {
Navigator.of(context).pushNamed(SecondRoute.tag);
},
),
),
);
}
}
class SecondRoute extends StatelessWidget {
static String tag = 'second-route';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Second Route"),
),
body: Center(
child: RaisedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('Go back!'),
),
),
);
}
}
【问题讨论】:
标签: flutter flutter-animation flutter-navigation