Flutter 颤振中的自定义路由事务错误
我试图为屏幕实现自定义动画,但遇到了一个错误 错误是: 未为类型“RouteSettings”定义getter“isInitialRoute” 这是我的密码Flutter 颤振中的自定义路由事务错误,flutter,dart,flutter-animation,Flutter,Dart,Flutter Animation,我试图为屏幕实现自定义动画,但遇到了一个错误 错误是: 未为类型“RouteSettings”定义getter“isInitialRoute” 这是我的密码 class MyCustomRoute<T> extends MaterialPageRoute<T> { MyCustomRoute({ WidgetBuilder builder, RouteSettings settings }) : super(builder: builder
class MyCustomRoute<T> extends MaterialPageRoute<T> {
MyCustomRoute({ WidgetBuilder builder, RouteSettings settings })
: super(builder: builder, settings: settings);
@override
Widget buildTransitions(BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
if (settings.isInitialRoute)
return child;
// Fades between routes. (If you don't want any animation,
// just return child.)
return new FadeTransition(opacity: animation, child: child);
}
}
类MyCustomRoute扩展了MaterialPage路由{
MyCustomRoute({WidgetBuilder,RouteSettings})
:super(生成器:生成器,设置:设置);
@凌驾
小部件构建转换(构建上下文,
动画,,
动画二级动画,
小部件(子部件){
if(设置。isInitialRoute)
返回儿童;
//在路线之间淡入淡出。(如果不需要任何动画,
//请把孩子还给我。)
返回新的FadeTransition(不透明度:动画,子对象:子对象);
}
}
谢谢你的帮助
谢谢。在四处搜索后,我找到了解决方案 所以我想我会回答我自己的问题 颤振更新了功能,我们只需使用设置。名称而不是设置。isInitialRoute
类MyCustomRoute扩展了MaterialPage路由{
MyCustomRoute({WidgetBuilder,RouteSettings})
:super(生成器:生成器,设置:设置);
@凌驾
小部件构建转换(构建上下文,
动画,,
动画二级动画,
小部件(子部件){
如果(settings.name=='/')){
返回儿童;
//在路线之间淡入淡出。(如果不需要任何动画,
//请把孩子还给我。)
返回新的FadeTransition(不透明度:动画,子对象:子对象);
}
}
RouteSetting中的isInitialRoute属性已被弃用
相反,您可以:
MaterialApp(
initialRouteName: ‘yourRouteName’,
或:
onGenerateInitialRoutes:(字符串initialRouteName){
返回[YourRoute()];
}
请注意,您的initialRoute
是Navigator
中的第一条路线。它指的是/
。因此,如果需要,您也可以这样做:settings.name=='/'
MaterialApp(
initialRouteName: ‘yourRouteName’,
onGenerateInitialRoutes: (String initialRouteName) {
return <Route>[YourRoute()];
}