Android属性动画-Property Animation(三) 使用ValueAnimator完成动画
16lz
2021-12-04
上一篇文章我们分析了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实现属性动画。
更多相关文章
- Unity与Android交互
- Android(安卓)studio MAC和window 个人常用快捷键
- Android(安卓)笔试/面试,常见问题整理
- Android属性动画ObjectAnimator源码简单分析
- Android下调用传感器
- Android(安卓)数据存储(二) 文件的使用
- Android(安卓)数据保存
- Android中android:visibility的3中属性的剖析
- 短视频直播源码Android关于分屏的知识总结