本文为第12周详细讲义,侧重动画基础(Animation、AnimationController、Tween、Curve)、AnimatedBuilder、Hero 动画、页面切换与隐式动画。课程大纲与目标见 第12周大纲


一、本讲目标与前置知识


二、动画基础:Animation 与 AnimationController


三、Tween 与 Curve


四、AnimatedBuilder 与 AnimatedWidget


五、Hero 动画


六、页面切换与自定义 PageRoute


七、隐式动画


八、运行本课程第12周 Demo

  1. 进入 demos/week-12/demo/animation_demo,执行 flutter pub get
  2. 执行 flutter run(或选择设备)。
  3. 操作:点击「播放/反向」观察显式动画;点击三张彩色卡片进入详情,观察 Hero 过渡,再点击返回;点击「点击展开」「点击淡出」观察隐式动画。
  4. 阅读 lib/main.dart:initState/dispose 中 Controller 的创建与释放;AnimatedBuilder 的 animation 与 builder;Hero 的 tag 与两页对应;AnimatedContainer/AnimatedOpacity 与 setState。

九、常见问题与最佳实践


十、与大纲、课堂练习的链接