我需要在具有命名路线的屏幕之间切换。但是,当我使用多于1条路由时,它将使用默认过渡而不是flutter_page_transitions库中的过渡。
这不起作用:
initialRoute: '/first',
routes: {
'/first': (context) => First(),
'/second': (context) => Second(),
'/third': (context) => Third(),
},
onGenerateRoute: (settings) {
switch (settings.name) {
case '/first': {
return PageTransition(
child: First(), type: PageTransitionType.fade);
}
break;
case '/second': {
return PageTransition(
child: Second(), type: PageTransitionType.fade);
}
break;
case '/third': {
return PageTransition(
child: Third(), type: PageTransitionType.fade);
}
break;
default: {
return null;
}
}
},
此作品
onGenerateRoute: (settings) {
switch (settings.name) {
case '/first': {
return PageTransition(
child: First(), type: PageTransitionType.fade);
}
break;
default: {
return null;
}
}
},
谢谢大家!解决方案:我注释掉了路线
initialRoute: '/first',
/*routes: {
'/first': (context) => First(),
'/second': (context) => Second(),
'/third': (context) => Third(),
},*/
onGenerateRoute: (settings) {
switch (settings.name) {
case '/first': {
return PageTransition(
child: First(), type: PageTransitionType.fade);
}
break;
case '/second': {
return PageTransition(
child: Second(), type: PageTransitionType.fade);
}
break;
case '/third': {
return PageTransition(
child: Third(), type: PageTransitionType.fade);
}
break;
default: {
return null;
}
}
},