lhk*_*lhk 23 flutter flutter-animation
当我使用 时Navigator.pushNamed(context, "/someRoute");
,有一个最小动画从屏幕底部滑入新路线(在 Android 上,在 iOS 上可能看起来不同)。
如何向此过渡添加自定义动画?
我找到了这篇文章,其中有一些非常简洁的未命名路由示例代码。他们实现自己的类继承自PageRouteBuilder
并可以这样使用:Navigator.push(context, SlideRightRoute(page: Screen2()))
。但是 aPageRouteBuilder
不是 Widget 并且不能在MaterialApp
. 所以我不知道如何将它应用于命名路由。
Cop*_*oad 38
您需要onGenerateRoute
在您的MaterialApp
小部件中使用。
onGenerateRoute: (settings) {
if (settings.name == "/someRoute") {
return PageRouteBuilder(
settings: settings, // Pass this to make popUntil(), pushNamedAndRemoveUntil(), works
pageBuilder: (_, __, ___) => SomePage(),
transitionsBuilder: (_, a, __, c) => FadeTransition(opacity: a, child: c)
);
}
// Unknown route
return MaterialPageRoute(builder: (_) => UnknownPage());
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12897 次 |
最近记录: |