Android属性动画-Property Animation(三) 使用ValueAnimator完成动画
16lz
2021-01-23
上一篇文章我们分析了ObjectAnimator的使用方法,这篇文章我们将分析ValueAnimator的使用方法。如果还不会使用ObjectAnimator的朋友可以看一下Android属性动画-Property Animation(二) 使用ObjectAnimator完成动画
在Android属性动画-Property Animation(一) 原理分析那篇文章中我们提到过,使用ValueAnimator的话必须要实现ValueAnimator.AnimatorUpdateListener接口,并且要在onAnimationUpdate()方法中手动更新属性值,并且调用invalidate()方法重画。
我们直接看一个例子
首先,我们要创建一个封装了机器人横纵坐标的实体类 接着,是MainActivity 当然,也可以这样写 这两种写法是完全一样的。
注意:我想我还是有必要再强调一下,在ValueAnimator.AnimatorUpdateListener接口中我们重写了onAnimationUpdate()方法,在这个方法中我们修改了属性的值,我们需要调用Invalidate()方法来重画更新过属性值的视图。那为什么我们在上面例子中没有调用invalidate()方法呢,那是因为我们调用的setX()、setScaleY()等函数时,系统已经帮我们写好了invalidate()方法,不用我们自己再去调用了,但如果是我们自己写的setter方法,那一定要记得调用invalidate(),否则视图不会更新的,动画也不会动的!
最后附上一张Interpolators表格,系统自带的这些interpolators已经够我们用得了,基本没有机会让我们自己去写一个。
ValueAnimator我们已经分析完了,下一篇文章我们将分析如何使用AnimatorSet实现动画组合,如何给动画加监听,以及如何使用XML实现属性动画。
更多相关文章
- Android属性动画ObjectAnimator源码简单分析
- 安卓布局文件中控件的各种属性的含义
- 日历视图的XML属性
- Android锁定横竖屏、splash,全屏、去除标题的方法-网摘
- android 中activity 属性说明
- 【Android进阶】android:configChanges属性总结
- Android中设置控件透明度的方法
- Android中shape属性详解:(设置圆角、设置渐变)