Android Animatioin总结


一、动画分类
1.  View Animation (Tween动画) 
执行一系列简单的转换。
     针对 视图对象内容进行移动,放大,缩小以及产生透明度的变化等四种动画操作。仅针对视图对象内容:
     例如:有一个TextView仅能针对文字进行四种动画操作。
     例如:有一个ImageView仅能针对背景进行四种动画操作。

更多可参考文档:

2.  Drawable Animation (Frame动画)
传统的动画方法,通过顺序的播放排列好的图片来实现。
某种意义上说像一个胶卷,它是创建一系列不同的对象,按顺序播放。 基类是AnimationDrawable

不能再onCreate中调用start方法,因为AnimationDrawable尚未完全附加到窗口上。如果你想立即播放动画,而无需互动,那么你可能想在您的活动onWindowFocusChanged()方法,当Android有焦点时调用它。

更多可参考文档


3. Property Animation
   Android 11 (3.0)以上才支持,看很多介绍时可以改变视图的属性,但是支持视图外所有对象的动画变换,但是未发现如何修改视图属性的。

ViewPropertyAnimator
interpolator


二、原理简单分析
View Animation 与 DrawableAnimation仅重新绘制,即使使用位移动画显示位置发生改变,其实视图的位置为发生改变。
分别是位置,大小,角度由Matrix 进行 3*3的矩阵变换,、透明度Alpha负责。




代码和xml配置两种


参考资料:
Android中图像变换Matrix的原理、代码验证和应用(一) 共有3篇
http://blog.csdn.net/pathuang68/article/details/6991867

分析android动画模块
http://www.linuxgraphics.cn/animation/android_tween_animation.html

Android 动画框架详解,第 1 部分
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/
Android 动画框架详解,第 2 部分
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt2/



Animation Resources



你可能感兴趣的:(android)