动画

前两种属于传统动画

1、帧动画

播放一组预先定义好的图片,图片大的话容易引起OOM

2、补间动画

1、支持四种效果,平移、缩放、旋转、透明度变化。

2、对View的影像做动画,保持最终的状态,需要设置setFillAfter才能保持最终的状态。

3、自定义补间动画,重写它的initialize、applyTransformation

3、属性动画

可以对对象的属性进行动画,不仅仅是View,是Android 3.0之后添加的。

核心类有三个,ObjectAnimator、ValueAnimator、AnimatorSet

1、ObjectAnimator

1、这是平时用的比较多的,可以对一个对象的属性进行动画,

但是需要该属性有get和set方法,如果没有,可以自定义一个类来包装原是对象,加上get和set方法

2、可以设置属性名,动画时间,个数不定的属性值变化

3、可以通过插值器和估值器来实现各种各样的效果

1、插值器可以设置动画从初始值过渡到结束值的节奏

2、估值器可以设置动画如何从初始值过渡到结束值

3、插值器根据时间进度来得到数字进度(一个百分值),估值器则根据插值器得到的数字进度来得到当前数值

4、最后调用set函数设置属性

5、系统已经定义了很多插值器

4、还可以设置动画监听器

2、ValueAnimator

1、这是属性动画的核心类,ObjectAnimator继承它

2、ValueAnimator本身并不对对象进行动画,而是对一个值做动画。

3、在它的onAnimationUpdate函数中来根据该数值的变化来设置对象的动画

4、它也可以使用插值器和估值器

3、AnimatorSet

动画集合,就是可以同时进行或者按顺序进行多个动画

4、无限循环的动画在Activity退出时要停止,否则会引起内存泄漏

你可能感兴趣的:(动画)