我试图实现来自官方文档示例的代码,但是它失败了:
...
class _MyHomePageState extends State<MyHomePage> {
late AnimationController controller;
@override
void initState() {
super.initState();
controller = AnimationController(duration: Duration(seconds: 3), vsync: this);
}
...

上面写着:The argument type '_MyHomePageState' can't be assigned to the parameter type 'TickerProvider'.
因此,VSCode突出了vsync: this param。
我有最新版本的颤振:
Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 18116933e7 (6 weeks ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4为什么会出现此错误,以及如何在不降级SDK版本的情况下修复此错误?
发布于 2021-11-24 00:20:42
在颤振中,AnimationController需要一个TickerProvider。
当从一个AnimationController创建State时,您应该让State扩展TickerProviderStateMixin或SingleTickerProviderStateMixin。后者更适合于当您只需要使用单个滴答器时,这应该是大多数情况下的优化。
解决方案:
变化
class _MyHomePageState extends State<MyHomePage>转到
class _MyHomePageState extends State<MyHomePage> with SingleTickerProviderStateMixinhttps://stackoverflow.com/questions/70089002
复制相似问题