ValueAnimator属性动画学习笔记

来源:互联网 发布:初学者编程 编辑:程序博客网 时间:2024/06/06 00:07

  属性动画是通过改变对象的属性来改变对象在屏幕中的显示效果,而补间动画就是指开发者只需要指定动画的开始、结束等“关键帧”,而动画变化的“中间帧”则由系统计算并补齐。补间动画只能够作用在View上,它只能够实现移动、缩放、旋转和淡入淡出这四种动画操作,它只是改变了View的显示效果而已,而不会真正去改变View的属性。Android开发团队决定在3.0版本当中引入属性动画这个功能,属性动画的实现机制是通过对目标对象进行赋值并修改其属性来实现的。
类的继承关系
ValueAnimator是整个属性动画机制当中最核心的一个类,它的内部使用一种时间循环来计算值与值之间的动画过渡,我们只需要将初始值和结束值提供给它,并且告诉它动画运行的时长,那么它就会自动帮我们完成从初始值平滑地过渡到结束值这样的效果。效果图如下所示:
这里写图片描述

将动画从1执行到500,通过scaleX,scaleY方法对图像进行X轴和Y轴的缩放操作,时长设置为900毫秒,重复次数为5次。

ValueAnimator animator = ValueAnimator.ofFloat(1f, 500f);        animator.setDuration(900);        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                float value = (float) animation.getAnimatedValue();                Log.d(TAG,"onAnimationUpdate value:"+value);                icon.setScaleX(0.5f+value/200);                icon.setScaleY(0.5f+value/200);            }        });        animator.setRepeatCount(5);        animator.start();