用途:面向 Flutter 动画实现,处理新增动画、修复损坏动画、重构动画代码、排查卡顿或生命周期问题、解释动画模式,以及提供独立示例。使用前需先确认用户真实诉求,并检查本地 Flutter 上下文,包括 widget 树、状态管理、导航方式、资源、测试、主题、无障碍辅助与既有动画抽象。
主要能力:按需选择最小的动画模型——简单状态驱动用隐式动画;需要生命周期控制、重复或可逆运动、手势或多属性协同时用显式动画;跨路由共享元素用 Hero;多元素顺序或重叠出场用交错动画;涉及速度、弹簧、拖拽、甩动或滚动感时用物理动画。
使用方式:实现需贴合应用现有风格,未要求重构时不改动既有公开 API;控制器由拥有动画生命周期的状态对象持有并释放,不在 build 内创建动画状态;优先 AnimatedBuilder、AnimatedWidget、内置过渡、子组件缓存、稳定 key 与局部重建;仅在最小示例或没有更窄重建路径时才在监听器中使用 setState()。按任务查阅对应参考:隐式、显式、Hero、交错、物理、曲线,模板属完整演示文件,需重命名类、移除 main() 与 MaterialApp 包装、适配资源路由状态后重跑分析。
验证:对修改文件运行 dart format 或项目格式化,运行 flutter analyze,涉及导航、手势、状态生命周期或可见回归时运行聚焦测试;可行时查看运行中应用或截图,否则说明静态验证内容与未视觉验证项。
限制:不得编造缺失的路由、资源路径、主题 token、手势行为或状态管理 API;隐式组件能达成相同效果时不要引入 AnimationController;不得遗留未释放的控制器、监听器、定时器或状态回调;生产代码不使用 timeDilation 等全局调试设置;不盲目复制片段;用户可见动效不得省略无障碍处理,无法实现减弱动效支持时需说明。