首页 > 代码库 > 使用ValueAnimator设置动画

使用ValueAnimator设置动画

通过描叙一些整型、浮点型或颜色型值,ValueAnimator类可以让你为这些类型的属性值设置动画。你可以通过如下的一些工厂方法来获取ValueAnimator实例:ofInt()、ofFloat()或者ofObject,例如:
ValueAnimator animation = ValueAnimator.ofFloat(0f, 1f);
animation.setDuration(1000);
animation.start();
在上面的代码中,当start方法调用的时候,ValueAnimator 在0和1之间计算动画的值,持续时间是1000ms.
你也可以通过下面的方式定义一个自定义的动画:
ValueAnimator animation = ValueAnimator.ofObject(new MyTypeEvaluator(), startPropertyValue, endPropertyValue);
animation.setDuration(1000);
animation.start();
在上面的代码中,当start方法调用的时候,ValueAnimator 在startPropertyValue和endPropertyValue之间使用MyTypeEvaluator计算属性值,持续时间是1000ms
但是,前面的代码片段不会对一个对象产生实际的影响,这时因为ValueAnimator并不会直接作用在对象或属性上。如过你想修改他们,最好的办法是在计算他们值的时候修改他们。你可以在ValueAnimator中通过定义监听器来在动画的持续过程中处理重要的事件,例如帧更新。当你实现这些监听器的时候,你可以通过调用getAnimatedValue()来获取当前帧计算后的值。想要获取有关见提起更详细的信息,你可以查看有关Animation Listeners章节。

使用ValueAnimator设置动画