![](/img/trans.png)
[英]Flutter: custom transition (PageRouteBuilder) disables Hero animations
[英]flutter Custom PageRouteBuilder
自定義路由如下:
class FadeRouteBuilder extends PageRouteBuilder {
final Widget page;
final int duration;
FadeRouteBuilder({this.page, this.duration = 1000})
: super(
transitionDuration: Duration(milliseconds: duration),
//Page builder doesn't do anything special, just return the ui.page we were passed in.
pageBuilder: (context, animation, secondaryAnimation) => page,
//transitionsBuilder builds 2 nested transitions, one for transitionIn (animation), and one for transitionOut (secondaryAnimation)
transitionsBuilder: (context, animation, secondaryAnimation, child) {
return FadeTransition(
//Transition from 0 - 1 when coming on the screen
opacity: Tween<double>(begin: 0, end: 1).animate(animation),
child: FadeTransition(
//Transition from 1 to 0 when leaving the screen
opacity: Tween<double>(begin: 1, end: 0)
.animate(secondaryAnimation),
child: child,
));
},
);
}
包含CustomScrollView的頁面是PageA,通過FadeRouteBuilder導航到PageB,
彈出pageB時,拖動PageA列表並按住,當PageB關閉時,CustomScrollView無法點擊,無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.