【笔记】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 * width
0.5
:表示0.5 * height
end
:动画终止位置
0.5
:表示0.5 * width
1.0
:表示1 * height
1 | import 'dart:async'; |
通过Tween类配置controller
1 | import 'dart:async'; |
添加动画链
- 通过
chain
方法追加其他方法
1 | import 'dart:async'; |