Android动画的分类与区别

Android动画分类

  1. Tween Animation: 补间动画,通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生的动画效果,即是一种渐变动画
  2. Frame Animation: 帧动画,顺序播放事先做好的图像,是一种画面转换动画。
  3. Property Animation: 属性动画,通过动态地改变对象的属性从而达到动画效果,API 11新特性。

三者区别

补间动画(Tween Animation)

1. 补间动画特性

  • 渐变动画支持4种类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、不透明
  • 只是显示的位置变动,View的实际位置未改变,表现为View移动到其他地方,点击事件仍在原处才可响应。
  • 组合使用步骤较复杂。
  • View Animation也是指此动画。

通过Animation类和AnimationUtils配合实现的。动画效果可以预先配置在res/anim目录下的xml文件中。

2. 补间动画优缺点

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

帧动画(Frame Animation)

1. 帧动画特性

  • 用于生成连续的GIF动画。
  • Drawable Animation也是指此动画。

2. 帧动画优缺点

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

属性动画(Property Animation)

1. 属性动画特性

  • 支持对所有View能更新的属性的动画(需要属性的set/get方法)。
  • 更改的是View的实际属性,不影响其动画执行后所在位置的正常使用。
  • Android 3.0(API 11)及以后的功能。

2. 属性动画的优缺点

  • 缺点:向下兼容的问题。
  • 优点:易定制,效果强。

原贴中有具体的实现示例,实操可参考。

猜你喜欢

转载自my.oschina.net/zhangyujian/blog/1647100