这里所讲的动画,是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执行动画。
时间有限暂时分析到这里了。以后有时间在完善。。