flutter_page_transition
此包提供精美的页面过渡效果。

用法
非常易于使用!
您应该确保将 `page_transition` 作为依赖项添加到您的 Flutter 项目中。
dependencies:
page_transition: "^1.1.5"
然后您可以使用下面的示例。
Navigator.push(context, PageTransition(type: PageTransitionType.fade, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.leftToRight, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.rightToLeft, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.upToDown, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.downToUp, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.scale, alignment: Alignment.bottomCenter, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.size, alignment: Alignment.bottomCenter, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.rotate, duration: Duration(second: 1), child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.rightToLeftWithFade, child: DetailScreen()));
Navigator.push(context, PageTransition(type: PageTransitionType.leftToRightWithFade, child: DetailScreen()));
预定义路由的用法
首先,像下面一样在 `MaterialApp` 小部件中定义 `onGenerateRoute` 属性,然后在 switch 语句中您可以过渡到您的新路由。
onGenerateRoute: (settings) {
switch (settings.name) {
case '/second':
return PageTransition(child: SecondPage(), type: PageTransitionType.scale);
break;
default:
return null;
}
},
之后,您可以像这样使用您的新路由。
Navigator.pushNamed(context, '/second');
使用带有 RouteSettings 的预定义路由
首先,像下面一样在 `MaterialApp` 小部件中定义 `onGenerateRoute` 属性,然后在 switch 语句中您可以过渡到您的新路由。
onGenerateRoute: (settings) {
switch (settings.name) {
case '/second':
return PageTransition(
child: SecondPage(),
type: PageTransitionType.scale,
settings: settings,
);
break;
default:
return null;
}
},
之后,您可以像这样使用您的新路由。
Navigator.pushNamed(context, '/second', arguments: "arguments data");
有关更多详细信息,您可以查看示例项目。
过渡类型
- 淡入淡出
- 从右到左
- 从左到右
- 从上到下
- 从下到上
- 缩放(带对齐方式)
- 旋转(带对齐方式)
- 尺寸(带对齐方式)
- 从右到左淡入,
- 从左到右淡入,
曲线
您可以使用任何类型的 `CurveAnimation` 曲线。
对齐方式
您可以使用尺寸、缩放和旋转变换的 对齐方式。
贡献
欢迎 Pull requests。对于重大更改,请先打开一个 issue 来讨论您想进行的更改。
请确保适当地更新测试。