Android中动画介绍

2019-11-24  本文已影响0人  彭空空

导读

Android 动画的分类

Android开发中,常用的动画有三种:

Property Animation(属性动画)

属性动画是Android3.0版本推出的动画框架,可谓Tween动画的升级版,它不仅能实现所有Tween动画的功能,还有很强的拓展性。
属性动画从本质上已经完全摆脱了控件,虽然我们大多数情况下使用属性动画都是给控件做动画,但是属性动画的底层只是一个数值发生器,和控件没有直接关系。

在Tween动画中即使他的位置发生了变化,但是点击事件,监听 ,都还停留在原地,不会跟着控件位置的变化去跟着改变。
一个经典的问题就是一个Button从一个地方移动到另一个地方,点击事件还是在原来的地方。

而属性动画,顾名思义直接是改变的控件的属性。所以,所有使用Tween动画的场景都可以用属性动画来替代。属性动画还保留了Tween动画的监听属性,即使位置发生变化也不会影响它的使用。

Property Animation

属性动画的特性:

属性动画的优缺点:

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


View Animation(视图动画、Tween动画)

视图动画即View动画也被称作补间动画(Tween动画),在Android1.0版本的时候就有了,Tween动画一般直接作用页面中的 View 上,实现基本的动画效果:平移、旋转、缩放、透明度、或前几者的组合。

View Animation

View动画作用于视图整体,只需设定初始状态(关键帧)和结束状态(关键帧),中间的状态(变化过程)则由系统计算计算并补齐,这也就是为什么叫补间动画/Tween动画。

Tween动画的优缺点

优点:

使用/制作简单
效果流畅
文件小,占用内存少

缺点:

效果单一
扩展性差
只是在屏幕绘制上的动画,控件的属性并没有改变(如前面提到的Button从一个地方移动到另一个地方的问题)

更多关于View Animation(视图动画)的使用及详解


Drawable Animation(帧动画)

Drawable Animation

帧动画即Drawable动画,是在时间帧上逐帧绘制帧内容,由于是一帧一帧的画,所以逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容。就是逐帧显示定义好的一组图片或者Drawable资源,效果类似于范灯片,一张张地切换图片,不同于View动画,系统提供了另外一个类AnimationDrawable来使用帧动画。实际的开发中,帧动画使用的场景相对较少。

帧动画示意图(来源于OCNYang)
帧动画的优缺点

优点:

更多关于Drawable Animation(帧动画)的使用及详解


文献:
https://www.jianshu.com/p/769242cba1f8
https://www.jianshu.com/p/0eb89d43eea4

上一篇 下一篇

猜你喜欢

热点阅读