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 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中使用animations1.在res目录下创建一个anim文件夹2.创建xml文件,并首先加入set标签3.在该标签下加入rotate,alpha,scale,或者translate标签4.在代码中使用AnimationUtils当中装载xml文件,并生产animation对象
新闻热点
疑难解答