1.概述
为了弥补Tween动画的不足,Android3.0、API11以后引入了Property动画
Property动画的本质就是修改对象的属性值实现的动画
Property动画与Tween动画的差异:
- Tween动画只能施加到View对象
- Tween动画只是绘制效果动画,View的真正属性没有改变
- Tween动画代码量少,使用简单方便
2.类体系结构
package:android.animation;
Interfaces:
- Animator.AnimatorListenter
- Animator.AnimatorPauseListenter
- TimeAnimator.TimeListenter
- TimeInterpolator
2个重要的类:
- Keyframe
- PropertyValuesHolder
3.动画属性
Animator:
ValueAnimator:
ObjectAnimator:
属性:x,y,rotation,rotationX,rotationY,scaleX,scaleY,alpha,translationX和translationY
AnimationSet:
4.使用方式
两中定制方式:
XML(TimeAnimator不支持)
res/animator/
AnimatorInflater.loadAnimator(myContext,R.animator.example);
Java代码
5.拓展
ViewPropertyAnimator动画
使用:
myView.animate().x.(0f).y(100f).start();
LayoutAnimator:
用于布局中有View添加、删除、隐藏、显示灯自身动画和View的动画:
- LayoutTransition.APPEARING:当View出现或者添加的时候View出现的动画
- LayoutTransition.CHANGE_APPEARING:当添加View导致布局改变的时候整个布局的动画
- LayoutTransition.DISAPPEARING:当View消失或者隐藏的时候View消失的动画。
- LayoutTransition.CHANGE_DISAPPEARING:当删除或者隐藏View导致布局改变时候的布局动画
- LayoutTransition.CHANGE:当不是由于View的原因造成其他View改变的时候布局的动画