标签:
1.Tween Animation 变换动画
Alpha:渐变透明度动画
Scale:渐变尺寸缩放动画
Translate:位置移动动画
Rotate:旋转动画
共同属性:
(1)Duration:动画持续时间(单位:毫秒)
(2)fillAfter:设置为true,动画转化在动画结束后被应用
(3)fillBefore:设置为true,动画转化在动画开始前被应用
(4)interpolator:动画插入器(加速、减速插入器)
(5)repeatCount:动画重复次数
(6)repateMode:顺序重复/倒序重复
(7)startOffset:动画之间的时间间隔(组合动画常用)
Animation 实现方式
(1)配置文件(/res/anim)- alpha、scale、translate、rotate
(2)Java代码实现 - AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation
2.Frame Animation 帧动画
3.Layout Animation 布局动画
4.Property Animation 属性动画
Tween Animation(变换动画)
1.共同属性:
(1)Duration:动画持续时间(单位:毫秒)
(2)fillAfter:设置为true,动画转化在动画结束后被应用
(3)fillBefore:设置为true,动画转化在动画开始前被应用
(4)interpolator:动画插入器(加速、减速插入器)
(5)repeatCount:动画重复次数
(6)repateMode:顺序重复/倒序重复
(7)startOffset:动画之间的时间间隔(组合动画常用)
Tween Animation(变换动画)
1.共同属性:
(1)Duration:动画持续时间(单位:毫秒)
(2)fillAfter:设置为true,动画转化在动画结束后被应用
(3)fillBefore:设置为true,动画转化在动画开始前被应用
(4)interpolator:动画插入器(加速、减速插入器)
(5)repeatCount:动画重复次数
(6)repateMode:顺序重复/倒序重复
(7)startOffset:动画之间的时间间隔(组合动画常用)
1.变换动画(TweenAnimation):
<1>种类:
Alpha渐变透明度动画
Scale渐变尺寸动画
Translate位置移动动画
Rotate旋转动画
<2>共同属性:
Duration:动画持续时间(ms)
fillAfter 设置为true,动画转化在动画结束后被应用
fillBefore 设置为true,动画转化在动画开始前被应用
interpolator 动画插入器(加速/减速)
repeatCount 重复次数
repateMode 顺序重复/倒序重复
startOffset 动画之间的时间间隔
<3>实现方式:
配置文件(res/anim)- alpha,scale,translate,rotate(适用于固定场合)
Java代码实现-AlphaAnimation,ScaleAnimation,TranslateAnimation,RotateAnimation
2.属性动画(PropertyAnimation):
3.帧动画(FrameAnimation):
4.布局动画(LayoutAnimation):
1.Tween Animation 变换动画 (动画局限性大,只是不断调用系统的ondraw()方法,浪费系统资源,不易监听交互)
Alpha:渐变透明度动画
Scale:渐变尺寸缩放动画
Translate:位置移动动画
Rotate:旋转动画
共同属性:
(1)Duration:动画持续时间(单位:毫秒)
(2)fillAfter:设置为true,动画转化在动画结束后被应用
(3)fillBefore:设置为true,动画转化在动画开始前被应用
(4)interpolator:动画插入器(加速、减速插入器)
(5)repeatCount:动画重复次数
(6)repateMode:顺序重复/倒序重复
(7)startOffset:动画之间的时间间隔(组合动画常用)
Animation 实现方式
(1)配置文件(/res/anim)- alpha、scale、translate、rotate
(2)Java代码实现 - AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation
2.Frame Animation 帧动画
3.Layout Animation 布局动画
4.Property Animation 属性动画
透明度动画。
fromAlpha 动画起始时透明度
toAlpha 动画终止时透明度
0.0 表示完全透明 1.0 表示完全不透明
(1)fromX,toX分别是起始和结束时x坐标上的伸缩尺寸
(2)fromY,toY分别是起始和结束时y坐标上的伸缩尺寸.
(3)pivotX,pivotY分别为伸缩动画相对于x,y坐标开始的位置
(1)fromXDelta,fromYDelta分别是起始时X,Y的坐标
(2)toXDelta,toYDelta分别是结束时X,Y的坐标
(1)fromDegrees起始的角度
(2)toDegrees终止的角度
(3)pivotX,pivotY分别为旋转动画相对于x,y的坐标开始位置
创建动画配置文件
Alpha:
<set>
--<alpha android:duration="1000" fromAlpha=0.1 toAlpha=1.0/>
</set>
Scale:
<set>
------<scale duration=2000 fillAfter=false
--------------fromXScale=0.0 fromYScale=0.0
---------------interpolator=XXxxxx
---------------pivotX=0% pivotY=0% 从图片中心位置缩放
---------------toXScale=1.0 toYScale=1.0/>
</set>
translate:
配置duration=2000 fromXDelta=10 fromYDelta=10起点
--------------------toXDelta=100 toYDelta=100终点
rotate:
set标签中加入rotate标签设置fromDegrees toDegrees起始角度,末尾角度
--------------------------旋转中心pivotX=50% pivotY=50%
Activity切换动画:
使用overridePendingTransition方法.
参数:第二个Activity进入动画,第一个Activity退出时的动画
为View Groups添加动画,使用LayoutAnimationController
LayoutAnimation可以用来为View Groups添加动画,并按照预定的顺序,把一个动画(或者动画集合)应用到View Group中的每一个子View中,可以使用LayoutAnimationController来指定一个应用到ViewGroup中的每一个子View中的动画
//布局动画使用
LayoutAnimationController lac=new LayoutAnimationController(AnimationUtils.loadAnimation(this,R.anim.zoom_in));
lac.setOrder(LayoutAnimationController.ORDER_RANDOM);//指定动画顺序
listView.setLayoutAnimation(lac);//加载布局动画
listView.startLayoutAnimation();
使用animation-list标签来分组一个item标签集合,定义要显示的图片,指定显示它的时间(以毫秒为单位)
FrameAnimation 逐帧动画 在drawable文件下新建一个xml(例如anim_list.xml)文件,使用animation-list标签来分组一个item标签集合。
//倒叙重复REVERSE 正序重复RESTART
alphaAnimation.setRepeatMode(Animation.REVERSE);
组合动画——续播一:两个加载器,并给第一个动画设置监听器(复写三个方法,在onAnimationEnd()中开启第二个动画的加载器)
Activity切换动画
使用overridePendingTransition方法
参数: 第二个Activity进入时的动画
-------第一个Activity退出时的动画
startActivity(intent);
overridePendingTransition(R.anim.zoom_in,R.anim.zoom_out)
动画可以设置监听器onAnimationListener,在这个监听器中有3个方法,
我们可以根据我们要实现的功能去实现不同的逻辑
Animation对象可以设置动画监听器
.setAnimationListener()监听动画开始或者结束时的事件
在配置文件中设置startOffset 可以延迟播放
逐帧动画FrameAnimation
用一个<animation-list>标签包含
多个<item android:drawable=@drawable/one|two|tree duration=500>标签
LayoutAnimation布局动画
在布局动画控制器中添加一个动画
LayoutAnimationController lac=new LayoutAnimationController (AnimationUtils.loadAniamtion(this,R.anim.zoom_in))
设置加载顺序
lac.setOrder(LayoutAnimationController.ORDER_RANDOM)
ListView加载动画
listView.setLayoutAnimation(lac)
启动动画
listView.startLayoutAnimation()
标签:
原文地址:http://blog.csdn.net/fang323619/article/details/51331143