1、动画种类分为:
补间动画(Tween Animation)和逐帧动画(Frame Animation)。
补间动画可以分为:透明度变换(alpha), 缩放(scale),旋转( rotate),移动变化(水平垂直方向) translate
逐帧动画:Animation
2、动画实现方式:
(1)代码实现:先定义AnimationSet(这个是一个集合,可以放置各种动画效果);
然后定义动画效果,Animation下面有四个子类用于实现补间动画:AlphaAnimation、ScaleAnimation、RotateAnimation、TranslateAnimation;
将动画效果放到AnimationSet中;
让控件启动AnimationSet;
(2)加载xml(动画定义):在res目录下建一个anim文件夹
创建xml文件,可以首先创建set便签,在里面加入四种补间动画方式
在代码中使用AnimationUtils加载动画,生成Animation(Animation是AniamtionSet的子类)
让控件启动Animation
3、动画涉及的类和效果的使用
(1)AnimationSet:
setDuration:动画持续时间
addAnimation:加入动画
(2)Intorpolator:用来修饰动画,设置动画的速度,也可以自定义
种类如下:
1、 AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
2、 AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
3、AnticipateInterpolator 开始的时候向后然后向前甩
4、AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
5、BounceInterpolator 动画结束的时候弹起
6、CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
7、DecelerateInterpolator 在动画开始的地方快然后慢
8、 LinearInterpolator 以常量速率改变
9、OvershootInterpolator 向前甩一定值后再回到原来位置
(3)Scroller:执行一个滚动效果,startScroll((int) mTouch.x, (int) mTouch.y, dx, dy,delayMillis)执行动画