在安卓中使用AnimationSet类同时执行多种动画效果
来源:互联网 发布:vm数据区 编辑:程序博客网 时间:2024/06/05 07:58
在安卓开发中,AnimationSet允许一个界面组件同时执行多种动画效果,例如一边旋转,一边移动,同时缩放尺寸。
而AnimationSet类本身是Animation类的子类,而Animation类则是用于实现基础动画效果的。
关于如何使用Animation类来实现基础动画效果,可以参考我的这篇文章:http://blog.csdn.net/freezingxu/article/details/70888766
其实用AnimationSet同时执行多种动画效果特别简单,这个类顾名思义,就是多个Animation实例的一个集合,直接看代码:
/** * 一次执行所有的动画效果 * @param view */public void executeAllAnimations(View view){ /* * 创建一个AnimationSet,它能够同时执行多个动画效果 * 构造方法的入参如果是“true”,则代表使用默认的interpolator,如果是“false”则代表使用自定义interpolator */ AnimationSet animationSet = new AnimationSet(true); /* * 创建一个半透明效果的动画对象,效果从完全透明到完全不透明 */ AlphaAnimation alphaAnimation = new AlphaAnimation(0,1); /* * 设置动画的持续时间 */ alphaAnimation.setDuration(3000); /* * 创建一个旋转动画对象 * 入参列表含义如下: * 1.fromDegrees:从哪个角度开始旋转 * 2.toDegrees:旋转到哪个角度结束 * 3.pivotXType:旋转所围绕的圆心的x轴坐标的类型,有ABSOLUT绝对坐标、RELATIVE_TO_SELF相对于自身坐标、RELATIVE_TO_PARENT相对于父控件的坐标 * 4.pivotXValue:旋转所围绕的圆心的x轴坐标,0.5f表明是以自身这个控件的一半长度为x轴 * 5.pivotYType:y轴坐标的类型 * 6.pivotYValue:y轴坐标 */ RotateAnimation rotateAnimation = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); /* * 设置动画的持续时间 */ rotateAnimation.setDuration(3000); /* * 创建一个缩放效果的动画 * 入参列表含义如下: * fromX:x轴的初始值 * toX:x轴缩放后的值 * fromY:y轴的初始值 * toY:y轴缩放后的值 * pivotXType:x轴坐标的类型,有ABSOLUT绝对坐标、RELATIVE_TO_SELF相对于自身坐标、RELATIVE_TO_PARENT相对于父控件的坐标 * pivotXValue:x轴的值,0.5f表明是以自身这个控件的一半长度为x轴 * pivotYType:y轴坐标的类型 * pivotYValue:轴的值,0.5f表明是以自身这个控件的一半长度为y轴 */ ScaleAnimation scaleAnimation = new ScaleAnimation(0,0.1f,0,0.1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); /* * 设置动画的持续时间 */ scaleAnimation.setDuration(3000); /* * 创建一个移动动画效果 * 入参的含义如下: * fromXType:移动前的x轴坐标的类型 * fromXValue:移动前的x轴的坐标 * toXType:移动后的x轴的坐标的类型 * toXValue:移动后的x轴的坐标 * fromYType:移动前的y轴的坐标的类型 * fromYValue:移动前的y轴的坐标 * toYType:移动后的y轴的坐标的类型 * toYValue:移动后的y轴的坐标 */ TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f); /* * 设置动画的持续时间 */ translateAnimation.setDuration(3000); /* * 将四种动画效果放入同一个AnimationSet中 */ animationSet.addAnimation(alphaAnimation); animationSet.addAnimation(rotateAnimation); animationSet.addAnimation(scaleAnimation); animationSet.addAnimation(translateAnimation); /* * 同时执行多个动画效果 */ view.startAnimation(animationSet);}
2 0
- 在安卓中使用AnimationSet类同时执行多种动画效果
- 动画。。AnimationSet
- Android 动画类AnimationSet的使用
- 多种动画效果
- 多种动画效果AnimationView
- Android 动画 - AnimationSet 动画集合使用(附图)
- AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听
- CoreAnimation基础介绍、简单使用CALayer以及多种动画效果
- android使用属性动画执行抖动效果
- 在安卓中使用Animation类实现基础动画效果
- Android 混合型动画 AnimationSet
- android 动画AnimationSet 和 AnimatorSet
- AnimationSet类:动画集合类
- android 动画AnimationSet 和 AnimatorSet
- Core Animation之多种动画效果
- Core Animation之多种动画效果
- Core Animation之多种动画效果
- Core Animation之多种动画效果
- linux挂载光盘
- Android asmack使用介绍
- Java多线程/并发12、多线程访问static变量
- WEB-INF下页面跳转
- #10 C. Digital Root (数论)
- 在安卓中使用AnimationSet类同时执行多种动画效果
- spring+springMVC声明事物管理配置
- linux下yum源配置
- centos下搭建MySQL主从复制
- nyoj252 01串(动态规划)
- ACTION AIDL
- Python使用poster
- Python---BeautifulSoup 简单的爬虫实例
- ubuntu 安装 redis,并配置远程、密码