Android中的动画实现详解

2014-11-24 08:32:20 · 作者: · 浏览: 2

根据SDK中的描述,这三者的功能强大程度为:逐帧动画<视图动画<属性动画。


一、逐帧动画:


该动画的方式就是将动画的过程的每一张静态图片都收集起来,然后依次显示这些图片,利用人眼的“视觉停留”的原理,给用户产生动画的效果。该方式虽然笨拙,但是也很有用,例如在浏览图片的时候,就可以使用这种方式实现逐帧浏览了。


二、视图动画:


也称为补间(Tween)动画,根据这两个定义可以看出该动画方式的一些特征:


1)该动画方式只是针对于View对象,例如ImageView、Button等;


2)实现该动画时,只需要给出两个关键帧的相关属性,Android会给你生给定成时间段内的两关键帧的动画渐变过程。


由于视图动画在Android中是一个older system,所以还不能对所有的效果进行支持,目前只支持:


1)透明度变化的动画(AlphaAnimation);


2)大小缩放的动画(ScaleAnimation);


3)位置变化的动画(TranslateAnimation);


4)旋转动画(RotateAnimation)。


三、属性动画:


为了弥补视图动画的不足,Android在3.0中引入了属性动画。和视图动画专注与视图效果不同,它更专注于对象的属性的变化,通过改变对象的属性而实现动画,不论该对象是否可见。例如:你使用视图动画将一个Button放大一倍,在界面上的效果可以实现,但是该Button的触摸响应区域还是和原来的一样,也就是说,视图动画并不是真正的将该Button放大一倍。