Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振中的自定义路由事务错误_Flutter_Dart_Flutter Animation - Fatal编程技术网

Flutter 颤振中的自定义路由事务错误

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

我试图为屏幕实现自定义动画,但遇到了一个错误

错误是:

未为类型“RouteSettings”定义getter“isInitialRoute”

这是我的密码

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()];
  }