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

Kar*_*kar 4 dart flutter flutter-animation

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

错误是:

没有为类型 '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);
      }
    }
Run Code Online (Sandbox Code Playgroud)

帮助将不胜感激!

谢谢。

Kar*_*kar 19

四处寻找后,我找到了解决方案。

所以我想我会回答我自己的问题。

Flutter 更新了函数,我们只需要使用settings.name而不是settings.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.name == '/') {
             return child;
        // Fades between routes. (If you don't want any animation, 
        // just return child.)
        return new FadeTransition(opacity: animation, child: child);
      }
    }
Run Code Online (Sandbox Code Playgroud)