四种动画

1、移动补间动画:TranslateAnimation

Animation  animation = new TranslateAnimation(0,50,0,50); 
参数1:x轴的起始位置 
参数2:x轴的终止位置 
参数3:y轴的起始位置 
参数4:y轴的终止位置
相对于原图位置的原点(图片的右上角为0,0),如果不想用这个点作为参照点,可以使用其他构造 
Animation  animation = new TranslateAnimation(fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);

参数1,参数3,参数5,参数7就是设置参照点的方式 
可以通过Animation类的常量进行设置例如:Animation.RELATIVE_TO_SELF

2、缩放补间动画:ScaleAnimation 
Animation   animation = new ScaleAnimation(1f,0.2f,1f,0.2f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); 

参数1:x方向起始大小(1f表示原图大小) 
参数2:x方向终止大小(0.2f表示原图的0.2倍) 
参数3:y方向起始大小(1f表示原图大小) 
参数4:y方向终止大小(0.2f表示原图的0.2倍) 
参数5:缩放中心点x轴取值的参照方式 
参数6:中心点x轴的取值(0.5f表示相对与原图的0.5倍) 
参数7:缩放中心点y轴取值参照方式 
参数8:中心点y轴的取值(0.5f表示相对与原图的0.5倍)

3、旋转补间动画:RotateAnimation 
Animation animation  = new RotateAnimation(360,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); 
参数1:旋转的起始角度 
参数2:旋转的终止角度 
参数3:旋转中心的x轴取值参照方式 
参数4:中心点x轴的取值 
参数5:旋转中心的y轴取值参照方式 
参数6:中心点y轴的取值

4、透明补间动画:AlphaAnimation 
Animation animation = new AlphaAnimation(1f,0.1f); 
参数1: 起始透明度; 
参数2: 目标透明度;

每种动画都有很多种重载,可以根据需求进行选择,如果想让动画有效果还得设置动画的时间 
设置动画持续时间 
animation.setDuration(2000); 
以毫秒为单位

对于动画还可以设置渲染器

android系统提供了很多渲染器资源 通过android.R.anim.的方式使用(在res目录下的anim目录下定义) 
   animation.setInterpolator(Main.this,android.R.anim.anticipate_overshoot_interpolator);

如果想要多个动画效果同时使用,可以通过AnimationSet 实现 
AnimationSet animationSet = new AnimationSet(false); 
animationSet.addAnimation(animation);

得到动画对象之后就是使用了,每个view都有startAnimation(animation)方法 
因为AnimationSet继承自Animation类所以该方法的参数既可以是动画对象(Animation)也可以是动画集(AnimationSet )对象

原文地址:https://www.cnblogs.com/the-wang/p/9061600.html

时间: 2024-11-05 23:35:23

四种动画的相关文章

android四种动画

http://www.jb51.net/article/32339.htm android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解ScaleAnimation 动画, ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType,

使用AnimateWindow来实现窗口淡入淡出(主要有四种动画,滚动,滑动,折叠或展开,和淡入淡出)

如果是在VC6下进行编译,应引入下面的预编译宏,注意放在windows.h的前面#undef  WINVER   #define  WINVER   0x500为什么要引入上面的宏呢?看看winuser.h里面该API的声明就明白了:#if(WINVER >= 0x0500)WINUSERAPIBOOLWINAPIAnimateWindow(    HWND hWnd,    DWORD dwTime,    DWORD dwFlags);#endif /* WINVER >= 0x0500

CAAnimation四种动画

在上一篇专题中我们提到,CAAnimation可分为以下四种: 1 2 3 4 5 6 7 8 1.CABasicAnimation 通过设定起始点,终点,时间,动画会沿着你这设定点进行移动.可以看做特殊的CAKeyFrameAnimation 2.CAKeyframeAnimation Keyframe顾名思义就是关键点的frame,你可以通过设定CALayer的始点.中间关键点.终点的frame,时间,动画会沿你设定的轨迹进行移动 3.CAAnimationGroup Group也就是组合的

Android三种动画原理

Android起初有两种动画:Frame Animation(逐帧动画) Tween Animation(补间动画) 两种动画的工作原理: Frame Animation:大体意思就是将UI设计的多张图片组成的动画,然后在将他们组合起来连贯进行播放,类似于早期电影的工作原理. Tween Animation:是对某个View进行一系列的动画的操作,包括淡入淡出(Alpha),缩放(Scale),平移(Translate),旋转(Rotate)四种模式 然而在从Android3.0版本开始后,An

四种常见 Git 工作流比较

轉載:http://toutiao.io/contribute 多种多样的工作流使得在项目中实施Git时变得难以选择.这份教程提供了一个出发点,调查企业团队最常见的Git工作流. 阅读的时候,请记住工作流应该是一种规范而不是金科玉律.我们希望向你展示所有工作流,让你融会贯通,因地制宜. 这份教程讨论了下面四种工作流: 中心化的工作流 基于功能分支的工作流 Gitflow工作流 Fork工作流 中心化的工作流 过渡到分布式分版本控制系统看起来是个令人恐惧的任务,但你不必为了利用Git的优点而改变你

JSP九大内置对象和四种属性范围解读

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读.内容非常具体,例子都附有代码和执行的结果截图. 本文project下载 一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性.跳转之后无效request:在一次服务请求范围内.server跳转后依旧有效se

Android自定义控件:进度条的四种实现方式

前三种实现方式代码出自: http://stormzhang.com/openandroid/2013/11/15/android-custom-loading/ (源码在最后) 最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非常常见,例如下载进度.加载图片.打开文章.打开网页等等--都需要这么一个效果让用户知道我们的App正在读取,以构造良好的

C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法

C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx.DirectSound.dll2.引入DirectX 的DLL文件的名字空间:  [C#] 纯文本查看 复制代码 ? 01 02 using Microsoft.DirectX; usingMicrosoft.DirectX.DirectSound; 3.建立设备Device dv=newDevi

Android自己定义控件:进度条的四种实现方式

前三种实现方式代码出自: http://stormzhang.com/openandroid/2013/11/15/android-custom-loading/ (源代码下载)http://download.csdn.net/detail/chaoyu168/9616035 近期一直在学习自己定义控件,搜了很多大牛们Blog里分享的小教程.也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非经常见,比例如以下载