一、动画的概念
动画描述了属性值改变的过程(曲线)。
应注意不要过度地使用动画。用户界面动画的设计应该尽量小心,动画是让界面更加生动而不是充满整个界面。 眼睛对于移动的东西非常敏感,动画过多很容易干扰用户的使用。
二、动画元素
- PropertyAnimation( 属性动画):使用属性值改变播放的动画
- NumberAnimation( 数字动画):使用数字改变播放的动画
- ColorAnimation( 颜色动画):使用颜色改变播放的动画
- RotationAnimation( 旋转动画):使用旋转改变播放的动画
- PauseAnimation( 停止动画):运行暂停一个动画
- SequentialAnimation( 顺序动画):允许动画有序播放
- ParallelAnimation( 并行动画):允许动画同时播放
- AnchorAnimation( 锚定动画):使用锚定改变播放的动画
- ParentAnimation( 父元素动画):使用父对象改变播放的动画
- SmoothedAnimation( 平滑动画):跟踪一个平滑值播放的动画
- SpringAnimation( 弹簧动画):跟踪一个弹簧变换的值播放的动画
- PathAnimation( 路径动画):跟踪一个元素对象的路径的动画
- Vector3dAnimation( 3D容器动画):使用QVector3d值改变播放的动画
- PropertyAction( 属性动作):在播放动画时改变属性
- ScriptAction( 脚本动作):在播放动画时运行脚本
三、应用动画的方式
- 属性动画:在属性完整加载后自动运行
- 属性动作:当属性值改变时自动运行
- 独立运行动画:使用 start() 函数明确指定运行或者 running 属性被设置为 true
四、缓冲曲线
缓冲曲线属性影响了一个属性值改变的插值算法,即曲线的变化情况。
qml中动画的默认缓冲类型是 Easing.Linear(线性差值算法)。 线性插值算法将会在动画开始时使用from的值到动画结束时使用的to值绘制一条直线。为一个移动的对象挑选一个合适的缓冲类型将会使界面更加自然。