Android动画
Android动画可以分三种:view动画、帧动画和属性动画,其中帧动画也属于属性动画,只不过它和平移、旋转等常见的View动画在常见形式上略有不同,View动画通过对常经理的对象不断做图像变换,包括:平移、缩放、旋转和透明度从而产生动画效果,是一种渐进式的效果。帧动画通过顺序播放一些列图像从而产生动画效果,可以理解是图片切换动画。属性动画,就是通过改变对象的属性从而达到动画效果,属性动画为API11的新特性,不过低版可以通过兼容库来使用。
一、view动画:
1.平移,2.旋转,3.缩放,4.透明度
这四种情况都是可以通过
Animation animation = AnimationUtils.loadAnimation(this,R.anim.animation_xml);
控件.startAnimation(animation);
animation动画,点击事件还留在原来的位置,如果想把点击事件跟着动画的位置移动,要改变相应控件的位置。或者用位移动画。
除了xml中定义动画外,还可以通过代码来应用动画。
二、自定义动画:
自定义动画是一件即简单又复杂的事,因为自定义动画只要继承Animation这个抽象类,然后重写它的initialize和applyTransformation方法,在initialize方法中做一些初始化工作,在applyTransformation中进行相应的矩阵变换即可。
三、帧动画:
帧动画是顺序播放一组预先定义好的图片,类似于电影播放。不同于View动画,系统提供了另外一个类AnimationDrawable来使用帧动画。帧动画的使用就比较简单,
//res/drawable/frame_animation.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas...">
<item android:drawable="@drawable/image1" android:duration="500">
<item ...>
<item ...>
</animation-list>
然后将上述Drawable作为view的背景通过Drawable来播放。