关于 flutter-animation
flutter-animation 是面向 Flutter 开发者的界面动效技能,帮助选择动画机制、管理时序与中断,并考虑减少动态效果偏好及验证动画状态。
主要功能
- 01选择隐式或显式动画
- 02管理时序与中断
- 03为跨路由元素使用 Hero
- 04支持减少动态效果偏好
- 05测试动画状态与 ticker 生命周期
适用场景
- 01为界面状态变化选择动画方式
- 02构建路由间的转场
- 03适配无障碍动态效果设置
- 04检查中断和反向播放的动画
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-animation安装后在 Claude Code 中输入/flutter-animation确认已加载。
附带文件evals/cases.jsonreferences/motion-patterns-and-reduced-motion.md
详细介绍
Flutter Animation
使用动效来说明状态变化、层级或连续性。确保动效可以中断且易于访问。
负责管理时间、插值、序列、稳定标识和中断。将模糊、玻璃效果、折射、着色器 uniform 和光学图层合成交由 flutter-visual-effects 处理;两者都适用时,由动画状态驱动效果,而不是在渲染器中重复管理控制器。
选择机制
- 少量属性变化由状态控制时,使用隐式动画。
- 当时间、序列、重复、打断或多个值需要显式管理时,使用
AnimationController。 - 仅当同一个概念元素会跨路由持续存在且标签保持唯一时,才使用
Hero。 - 仅当无法通过 Widget 组合高效实现效果时,才使用自定义 painter 或更底层的动画。
- 在拥有动画控制器的状态生命周期中保留控制器,并正确释放。
未进行性能分析前,不要在大型子树中动画化对布局影响较大的属性。避免叠加无关的隐式动画,以免难以理清时间关系。
减少动态效果
通过项目兼容的 Flutter API 读取平台的无障碍偏好设置。将非必要动效替换为即时或低动态效果的过渡,同时保留其含义并确保任务可以完成。
验证
在适用时测试初始、进行中、完成、反向、被中断和减少动态效果等状态。检查是否存在 ticker 泄漏,并在具有代表性的设备上以 profile 模式分析复杂动效。
当动效模式或减少动态效果属于范围内时,请遵循动效模式与减少动态效果参考。
来源
评论
支持 Markdown