赞
踩
Animations介绍
一.android是实现android UI界面动画效果的API,animations提供了很多动画效果,例如旋转、平移、缩放、渐入渐出等。这些效果可以运用在绝大多数控件中。
二.animations分类
animation从总体上大概可以分为两类
1.补间动画
该类提供了旋转(rotate)、平移(translate)、缩放(scale)、渐入渐出(alpha)等效果。
2.逐帧动画
指定一个drawable序列,通过时间间隔播放每一个图片
三.animatios的使用
补间动画的使用(在代码中使用)
1.创建一个animationSet对象
2.增加需要创建相应的animation对象
3.根据项目的需求,为animation对象设置相应的数据
4.将animation对象添加到animationSet中。
5.控件开始执行animation
例子:/**
* 旋转动画
*/
private void testRotateAnimation(){
AnimationSet animationSet = new AnimationSet(true);
/**
* 旋转
* 第一个参数:从哪个旋转的角度开始
* 第二个参数:旋转多少度
* 后四个参数确定旋转的圆心
* 第三个参数:确定x轴坐标的类型,有Absolute绝对坐标,Relative_to_self相对于自身坐标
* Relative_to_parent相对于父容器坐标
*
*/
RotateAnimation animation = new RotateAnimation(0,180, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(1000);
animationSet.addAnimation(animation);
img.startAnimation(animation);
}
/**
* 平移动画
*/
private void testTranslateAnimation(){
AnimationSet set = new AnimationSet(true);
/**
* 1 - 2 个参数表示x轴的类型和位置
* 3 - 4 个参数表示y轴的类型和位置
* 5 - 6 表示x轴的结束位置
* 7 - 8 表示y轴的结束位置
*/
TranslateAnimation animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(1000);
set.addAnimation(animation);
img.startAnimation(animation);
}
private void testScaleAnimation(){
AnimationSet animationSet = new AnimationSet(true);
ScaleAnimation animation = new ScaleAnimation(0,0.1f,0,0.1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(1000);
animationSet.addAnimation(animation);
img.startAnimation(animation);
}
private void testAlphaAnimation(){
AnimationSet animationSet = new AnimationSet(true);
AlphaAnimation alphaAnimation = new AlphaAnimation(1,0.5f);
alphaAnimation.setDuration(1000);
animationSet.addAnimation(alphaAnimation);
img.startAnimation(alphaAnimation);
}
补间动画常见的方法
1.animation.setDuration(long time)
设置动画的持续时间,单位毫秒
2.animation.setFillAfter(boolean flag)
如果flag的值为true,则空间停留在结束时的位置
3.animation.setFillBefore(boolean flag)
如果flag的值为true,则控件停留在开始时的位置
4.animation.setStartOffset(long time);
设置动画执行之前的等待时间
5.animation.setRepeatCount();
设置动画执行重复次数
在xml中使用animations
1.在res目录下创建一个anim文件夹
2.创建xml文件,并首先加入set标签
3.在该标签下加入rotate,alpha,scale,或者translate标签
4.在代码中使用AnimationUtils当中装载xml文件,并生产animation对象
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。