我在使用AnimatedSplashScreen
时遇到了问题,在添加pageTransitionType
之前一切正常。然后我得到一个错误:
生成AnimatedBuilder时引发了以下_CastError(动画:合并([k始终完成动画代理动画,k始终取消动画代理动画]),脏,状态:_动画状态#bd6f7):对空值使用了空值检查运算符
这是一个简单的应用程序,它产生的问题:
import 'package:animated_splash_screen/animated_splash_screen.dart';
import 'package:flutter/material.dart';
import 'package:page_transition/page_transition.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: AnimatedSplashScreen(
splash: Icon(Icons.person),
pageTransitionType: PageTransitionType.scale, //with that line commented there is no error
nextScreen: HomePage()
),
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();
}
}
我尝试过运行许多命令,如 flutter pub get 等。
此外,pubspec.yaml
中的依赖关系也在平稳运行:
animated_splash_screen: ^1.1.0
page_transition: ^2.0.1-nullsafety.0
3条答案
按热度按时间ltqd579y1#
我遇到了同样的问题,可以重新创建它。据我所知,您正在尝试使用pageTransitionType的属性“scale”,如下所示:
如果你想使用scale,你必须在PageTransition中使用一个Navigator.push(),如下所示:
要将.scale用作TransitionType,您需要一个“alignment”,如我的示例中所示。
更多信息:
https://github.com/kalismeras61/flutter_page_transition/issues/53#issuecomment-983511302
https://pub.dev/packages/page_transition/example
gpnt7bae2#
不确定如何具体解决缩放问题,但可以将过渡类型更改为其他类型,例如,
yacmzcpb3#
我还有另一个技巧,比如你可以直接点击(android studio:- cmd+mouse_click)AnimatedSplashScreen进入软件包代码,之后你可以直接从那里更改页面过渡,如image.
所示