【发布时间】:2018-04-06 17:28:14
【问题描述】:
当我使用 Navigator.of(context).pushNamed('/abc'); 为新屏幕实现动画时,
我收到如下错误:
错误:参数类型“动画”不能是 分配给参数类型“动画”。 (argument_type_not_assignable 在 [mhtportal_notifications] lib\main.dart:194)
代码块(类)如下:
class FromRightToLeft<T> extends MaterialPageRoute<T> {
FromRightToLeft({ 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;
return new SlideTransition(
child: new Container(
decoration: new BoxDecoration(
boxShadow: [
new BoxShadow(
color: Colors.black26,
blurRadius: 25.0,
)
]
),
child: child,
),
position: new FractionalOffsetTween(
begin: const FractionalOffset(1.0, 0.0),
end: FractionalOffset.topLeft,
)
.animate(
new CurvedAnimation(
parent: animation,
curve: Curves.fastOutSlowIn,
)
),
);
}
@override Duration get transitionDuration => const Duration(milliseconds: 400);
}
代码来源:GitHub
【问题讨论】: