作者:opLW 记录平时所学内容
参考:旗舰大神的《Android自定义控件开发入门与实战》
属性动画–ValueAnimator的基本使用
目录
1.属性动画和视图动画的种类
2.属性动画与视图动画的区别
3.使用ValueAnimator
4.自定义Interpolator和Evaluator
1.属性动画和视图动画的种类
- 属性动画:ValueAnimator和ObjectAnimator
- 视图动画:TweenAnimation(补间动画)和FrameAnimation(逐帧动画)
2.属性动画与视图动画的区别
- 引入时间不同: 1.ViewAnimation是API1时引入的,PropertyAnimation是API11引入的,即Android3.0引入的。
- 所在包不同: ViewAnimation所在的包为android.view.animation,PropertyAnimation所在的包一般为android.animation.
- 动画类的命名不同: 3.ViewAnimation中动画类的命名都是XXXXAnimation,而 PropertyAnimation中动画类命名都是XXXXAnimatior
3.使用ValueAnimator
- 基本用法ValueAnimator
ValueAnimator animator = new ValueAnimator();
animator.addUpdateListener(new AnimatorUpdateListener() {
//重写其中的方法
@Override
public void onAnimationUpdate(ValueAnimator animation){
//此处根据具体的类型进行强转
int curValue = (Interger)animation.getAnimatedValue();
//得到变化的值便可修改控件的left,top,right,bottom,从而形成动画
tv.layout(curValue, curValue, curValue+tv.getWidth(), curValue+tv.getHeight());
})
animator.setDuration(1000) //单位是毫秒
animator.start()
结论:
- ValueAnimatior只负责对指定区间进行动画运算。
- 我们需要对运算过程进行监听,然后对控件执行动画操作,即动态的改变控件的属性值。
- 常用函数
(1)ofInt()和ofFloat()