You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Flutter 3.13.2后simple_animations插件类型赋值报错

解决Flutter 3.13.2升级后simple_animations插件类型不兼容错误

问题原因

Flutter 3.13.x 版本对TickerMode.getNotifier()的返回类型进行了变更,从ValueNotifier<bool>改为ValueListenable<bool>,而你使用的simple_animations 4.2.0版本未适配这一改动,因此出现类型分配错误。

解决方案

  • 升级simple_animations到兼容版本
    打开项目的pubspec.yaml文件,将simple_animations的版本号更新为最新兼容版本(如^5.0.0及以上,可查看插件更新日志确认适配情况),然后执行以下命令更新依赖:

    flutter pub upgrade
    

    新版本已修复该类型适配问题,这是最优解决方案。

  • 手动修改插件源码(临时应急方案)
    若暂时无法升级插件,可直接修改缓存中的插件代码:

    1. 定位到插件缓存路径:C:/Users/Abdo/AppData/Local/Pub/Cache/hosted/pub.dev/simple_animations-4.2.0/lib/anicoto/animation_mixin.dart
    2. 找到第139行代码,将:
      final ValueNotifier<bool> newNotifier = TickerMode.getNotifier(context);
      
      修改为:
      final ValueListenable<bool> newNotifier = TickerMode.getNotifier(context);
      
      如果后续代码需要ValueNotifier的特性,可做兼容处理:
      final ValueListenable<bool> listenable = TickerMode.getNotifier(context);
      final ValueNotifier<bool> newNotifier = listenable is ValueNotifier<bool> 
          ? listenable 
          : ValueNotifier(listenable.value);
      

    注意:此修改会在下次执行flutter pub get时被覆盖,仅作为临时方案。

  • 临时降级Flutter版本
    若以上方案均不可行,可暂时将Flutter版本降级到3.13以下(例如3.10.6),执行命令:

    flutter downgrade 3.10.6
    

    该方案不推荐长期使用,会限制你使用Flutter 3.13的新特性。

内容的提问来源于stack exchange,提问作者Abdallah Mahmoud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:15:56