【问题标题】:Flutter set transitions for custom routesFlutter 为自定义路由设置转换
【发布时间】:2020-03-31 04:38:12
【问题描述】:

在我们的应用程序中,我们实现了自定义路由导航,我想为此设置转换,例如,这是我们的自定义路由,它可以正常工作,没有任何问题

Navigator(
  key: navigatorKey,
  initialRoute: Page.screenDashboard.route,
  onGenerateRoute: (settings) {
    final pageName = settings.name;

    final page = _fragments.keys.firstWhere(
            (element) => describeEnum(element) == pageName);

    return MaterialPageRoute(
        builder: (context) => FadeAndSlideRightTransition(page: _fragments[page]));
  },
),

那我如何为MaterialPageRoute 设置过渡?

例如:

class SlideRightRoute extends PageRouteBuilder {
  final Widget page;
  SlideRightRoute({this.page})
      : super(
          pageBuilder: (
            BuildContext context,
            Animation<double> animation,
            Animation<double> secondaryAnimation,
          ) =>
              page,
          transitionsBuilder: (
            BuildContext context,
            Animation<double> animation,
            Animation<double> secondaryAnimation,
            Widget child,
          ) =>
              SlideTransition(
                position: Tween<Offset>(
                  begin: const Offset(-1, 0),
                  end: Offset.zero,
                ).animate(animation),
                child: child,
              ),
        );
}    

这个测试不起作用,我得到错误:

return MaterialPageRoute(builder: (context) => SlideRightRoute (page: _fragments[page]));    

错误

error: The return type 'SlideRightRoute ' isn't a 'Widget', as required by the closure's context. (return_of_invalid_type_from_closure at [fluttersamples] lib\screens.dart:62)

【问题讨论】:

    标签: flutter flutter-navigation


    【解决方案1】:

    使用

    return SlideRightRoute(page: _fragments[page]);
    

    而不是

    return MaterialPageRoute(builder: (context) => _fragments[page]);
    

    解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多