Android三种动画的对比与简单理解

Android三种动画分别为帧动画(Frame Animation)补间动画(Tween Animation)属性动画(Property Animation)

动画分为传统动画和属性动画

传统动画分为帧动画和补间动画

Android3.0之后出现的属性动画

 

帧动画

1、帧动画的特性:

  • a. 用于生成连续的Gif效果图。

  • b. DrawableAnimation也是指此动画

2、帧动画的优缺点:

  • 缺点:效果单一,逐帧播放需要很多图片,占用空间较大
  • 优点:制作简单

补间动画

1、补间动画的特性:

  • a.渐变动画支持四种类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、不透明度

  • b. 只是显示的位置变动,View的实际位置未改变,表现为View移动到其他地方,点击事件仍在原处才能响应。

  • c. 组合使用步骤较复杂。

  • d. View Animation 也是指此动画。

2、补间动画的优缺点:

  • 缺点:当平移动画执行完停在最后的位置,结果焦点还在原来的位置(控件的属性没有真的被改变)
  • 优点:相对于逐帧动画来说,补间动画更为连贯自然

属性动画

下面我们着重介绍下属性动画,干货来了

1、属性动画的特性:

  • a.支持对所有View能更新的属性的动画(需要属性的setXxx()和getXxx())。
  • b. 更改的是View实际的属性,所以不会影响其在动画执行后所在位置的正常使用。
  • c. Android3.0(API11)及以后出现的功能,3.0之前的版本可使用github第三方开源库nineoldandroids.jar进行支持。

2、属性动画的优缺点:

  • 缺点:(3.0+API出现)向下兼容问题
  • 优点:易定制,效果强

三者最大的区别

属性动画,顾名思义直接是改变的控件的属性。仔细的同学可能会发现:在补间动画中即使他的位置发生了变化,但是他的诸如 点击事件,监听 ,都还停留在原地,不会跟着控件位置的变化去跟着改变。属性动画最大的特点就是 保留了这些监听之类的属性,即使位置发生变化也不会影响它的使用。

你可能感兴趣的:(温故而知新)