android动画小析

这里所讲的动画,是android framework提供的动画框架里面的动画。

是view层级的动画。不涉及到底层opengl es相关的动画实现。

动画:

主要包括

Interpolation

duration

frameDuration

repeatCount

repeatMode

animation content

这个6个基本元素。最后一个是本人加的,就是动画内容,就是做什么类型的动画。

注意:动画是一种行为模式,必须要和实现动画这种行为的对象分开。

android上层动画框架提供了:

frame animation:

这个像放电影一样,一帧一帧放图片。

treen animation:

translation , scale,alpha,rotate,

property animation

通过Object 属性变化来实行动画

灵活性:

frame animation < treen animation <property animation

本人很喜欢property animation

因为他很灵活。

像frame animation 和treen animation 适合于整个view对象的内容动画

而property animation 可以将动画应用某个view里面的内容的一部分。

上面所述的动画,都是在view的绘制基础上,实现的动画效果。

Measure->Layout->Draw

当然实现动画时,只引起上述绘制流程其中一个过程变化,是最好的,会使动画很流畅。

android也提供 animationSet

可以多个动画组合在一起执行。并且可以设置动画执行顺序,和延迟时间等。

当然animationSet也有局限性,比如不能对整个动画集合的动画进行循环动画。

还有一些view的特殊用法可以产生动画效果:

比如 ImageView 的ImageMatrix 对这个matrix实行矩阵变化。

还有layoutAnimation:

用于viewGroup中,对于第一次Layout时,对子View执行动画。

时间有限暂时分析到这里了。以后有时间在完善。。

原文地址:https://www.cnblogs.com/lzl-sml/p/3984492.html