Android动画学习(概述):

前言:

 

看了一下网上对于Android动画的相关帖子,发现大家对于Android动画的总结大都局限在在帧动画和缓动动画这块。

 

在查看googleAndroid官方文档的时候,发现还有一些别的Android动画模块。

 

下面,我将把我目前了解的Android动画的各个模块,做一下归纳和整理。

 

动画类型:

 

Android动画大体上分为帧动画,属性动画,缓动动画以及过渡动画,下面将说明一下每个动画的定义:

 

帧动画 (所在包:android.graphics.drawable

相关类:AnimationDrawable

将一组动画图片通过XML组织起来播放,就好像gif图片的动画效果。

它的操作对象必须在一个View上。

属性动画(所在包:android.animation):

相关类:AnimationSet,ValueAnimation,ObjectAnimation

设置一个起始值和终止值,让系统计算起始值和终止值之间的数值,来实现动画效果。

通过使用系统自带的Interpolator或者自定义的Interpolator来实现一些特殊的属相变化效果。

它所操作的对象类型可以是View,也可以不是View。

缓动动画 (所在包:android.view.animation):

相关类:AlphaAnimation,AnimationSet,RotateAnimation,ScaleAnimationTranslateAnimation

设置一个视图的某个属性的起始值和终止值,让系统计算起始值和终止值之间的过渡数值,来实现动画效果。目前Android支持四个属性的补间动画(TranslateAlphaRotateScale)。

与帧动画一样,它的操作对象也必须在一个View上。

可以设置Interpolator来实现不同的缓动效果。

过渡动画 (所在包:android.transition):

相关类:Scene,Transition,TransitionSet,TransitionManager

设置起始视图和终止视图,让系统来实现这两个视图的过渡动画。

它的操作对象是两个不同的View或者ViewGroup对象。

 

Android官方文档中将上面的四种动画进行了如下的分类:

 

 

 

从官方的分类来看,第一层级的动画分类是按照操作的对象来划分的,属性动画操作的对象很广泛,视图和非视图都可以;视图动画操作的对象类型主要是View类和Surefaces类,并且是在同一个视图对象上;过渡动画的操作对象一般是两个视图,为了实现两个视图之间的切换效果。

 

相关文档:

 

1.google官方对于属性动画和视图动画的使用介绍:

http://developer.android.com/guide/topics/resources/animation-resource.html

 

2.google官方对于过渡动画的使用介绍:

https://developer.android.com/training/transitions/index.html

 

posted @ 2015-10-16 02:17  雪国  阅读(208)  评论(1编辑  收藏  举报