【笔记】Flutter的动画
前言
Flutter的动画学习笔记
隐式动画
duration:定义动画持续时间curve:定义动画类型
Curves.linear:缺省值,线性Curves.linear:线性
AnimatedList动画列表
淡入淡出动画
animation:在新增操作时,animation的值是从0到1;在删除操作时,animation的值是从1到0
1 | import 'dart:async'; |
缩放动画
1 | import 'dart:async'; |
AnimatedContainer动画容器
duration:定义动画持续时间
1 | import 'dart:async'; |
AnimatedPadding动画内边距
1 | import 'dart:async'; |
AnimatedOpacity动画透明度
1 | import 'dart:async'; |
AnimatedPositioned动画定位
1 | import 'dart:async'; |
AnimatedDefaultTextStyle动画默认文字样式
1 | import 'dart:async'; |
AnimatedSwitcher动画切换
- 当子元素发生任意改变时触发动画
1 | import 'dart:async'; |
显式动画
vsync:配置程序的刷新率与手机保持一致
_animationController.forward():正向运动一次_animationController.reverse():逆向运动一次,需要在正向运动后再执行_animationController.repeat():正向运动无限循环
_animationController.repeat(reverse: true):正向运动然后逆向运动无限循环
_animationController.stop():停止运动_animationController.reset():重置
旋转动画
通过构造方法配置controller
lowerBound:动画初始值
0:缺省值
upperBound:动画终止值
1:缺省值
1 | import 'dart:async'; |
通过drive方法配置controller
begin:动画初始值
0:缺省值
end:动画终止值
1:缺省值
1 | import 'dart:async'; |
显示/隐藏动画
通过构造方法配置controller
lowerBound:动画初始值
0:缺省值
upperBound:动画终止值
1:缺省值
1 | import 'dart:async'; |
通过drive方法配置controller
begin:动画初始值
0:缺省值
end:动画终止值
1:缺省值
1 | import 'dart:async'; |
放大/缩小动画
通过构造方法配置controller
lowerBound:动画初始值
0:缺省值
upperBound:动画终止值
1:缺省值
1 | import 'dart:async'; |
通过drive方法配置controller
begin:动画初始值
0:缺省值
end:动画终止值
1:缺省值
1 | import 'dart:async'; |
位移动画
通过drive方法配置controller
begin:动画初始位置
1.0:表示1 * width0.5:表示0.5 * height
end:动画终止位置
0.5:表示0.5 * width1.0:表示1 * height
1 | import 'dart:async'; |
通过Tween类配置controller
1 | import 'dart:async'; |
添加动画链
- 通过
chain方法追加其他方法
1 | import 'dart:async'; |