用途:为 Flutter 应用添加动效与视觉过渡,按场景选择合适的动画方案。
主要能力:提供动画类型决策树,区分隐式动画(AnimatedContainer、AnimatedOpacity、TweenAnimationBuilder 等,属性变化自动过渡)、显式动画(AnimationController、Tween、CurvedAnimation、AnimatedWidget、AnimatedBuilder,可控制生命周期与多属性同步)、Hero 共享元素转场(含径向展开与 MaterialRectCenterArcTween)、交错动画(用 Interval 在 0.0–1.0 区间错开多个动画)、物理动画(fling、SpringSimulation、BouncingScrollSimulation 等)。另含内置过渡组件 FadeTransition、ScaleTransition、SlideTransition、SizeTransition、RotationTransition、PositionedTransition。
使用方式:隐式动画直接设置 duration、curve 与目标属性;显式动画在 initState 创建 AnimationController 并传入 vsync,配合 Tween/CurvedAnimation,用 AnimatedBuilder 或 AnimatedWidget 构建,通过 addStatusListener 监听状态,结束时调用 dispose。Hero 需在源与目标页面使用相同 tag。交错动画共用一个 controller,用 Interval 分配时间。物理动画用 controller.fling 或 animateWith 配合模拟器。
适用场景:单属性状态过渡、复杂自定义动画、页面间共享元素转场、列表或菜单的顺序揭示、拖拽与滚动的自然手感。
限制与注意:必须释放 AnimationController 以免内存泄漏;避免在动画监听中用 setState,优先 AnimatedBuilder;避免嵌套隐式动画影响性能;需处理 AnimationStatus;应尊重系统 disableAnimations 无障碍偏好;调试可用 timeDilation。资料未提供安装命令、版本要求与收费信息。