Flutter go_router
· 3 mins read
builder
和 pageBuilder
的区别
使用 builder: 当你只需要一个简单的 Widget,并且不需要动画或页面过渡时。 使用 pageBuilder: 当你需要支持页面动画、过渡效果,或者需要更复杂的页面类型时。
页面切换动画
- 默认转换 淡入淡出(Fade Transition)
- FadeTransition(opacity: animation, child: child)
- 滑动转换(Slide Transition)
- SlideTransition(position: offsetAnimation,child: child);
- 缩放转换(Scale Transition)
- ScaleTransition(scale: animation, child: child);
- 旋转转换(Rotation Transition)
- RotationTransition(turns: animation, child: child);
- 尺寸转换
- SizeTransition(sizeFactor: animation, child: child);
go_router 去掉转换效果
pageBuilder: (context, state) {
// 使用 NoTransitionPage 去掉默认的 FadeTransition
return NoTransitionPage(
key: state.pageKey,
child: DetailsPage(),
);
}
- Flutter
- go_router