Android画图学习总结(四)——Animation(上).doc_第1页
Android画图学习总结(四)——Animation(上).doc_第2页
Android画图学习总结(四)——Animation(上).doc_第3页
Android画图学习总结(四)——Animation(上).doc_第4页
Android画图学习总结(四)——Animation(上).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android画图学习总结(四)Animation(上)By: 海市蜃楼 | In: Android开发18 九 2009 随着对Drewable的深入了解,发现了Drawable更加强大的功能:显示Animation。Android SDK介绍了2种Animation: Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果 Frame Animation:顺序播放事先做好的图像,跟电影类似在使用Animation前,我们先学习如何定义Animation,这对我们使用Animation会有很大的帮助。Animation是以 XML格式定义的,定义好的XML文件存放在resanim中。由于Tween Animation与Frame Animation的定义、使用都有很大的差异,我们将分开介绍,本篇幅中介绍Tween Animation的定义与使用,后续篇幅再详细介绍Frame Animation。按照XML文档的结构【父节点,子节点,属性】来介绍Tween Animation,其由4种类型: Alpha:渐变透明度动画效果 Scale:渐变尺寸伸缩动画效果 Translate:画面转换位置移动动画效果 Rotate:画面转换位置移动动画效果在介绍以上4种类型前,先介绍Tween Animation共同的节点属性,关于节点的命名原则,请阅读AndroidManifest.xml文件结构说明。表一属性类型功能Durationlong属性为动画持续时间时间以毫秒为单位fillAfter boolean当设置为true ,该动画转化在动画结束后被应用fillBeforeboolean当设置为true ,该动画转化在动画开始前被应用interpolator指定一个动画的插入器有一些常见的插入器accelerate_decelerate_interpolator加速-减速 动画插入器accelerate_interpolator加速-动画插入器decelerate_interpolator减速- 动画插入器其他的属于特定的动画效果repeatCountint动画的重复次数RepeatModeint定义重复的行为1:重新开始 2:plays backwardstartOffsetlong动画之间的时间间隔,从上次动画停多少时间开始执行下个动画zAdjustmentint定义动画的Z Order的改变0:保持Z Order不变1:保持在最上层-1:保持在最下层看了以上节点,大家是不是都想开始定义动画了。下面我们就开始结合具体的例子,介绍4种类型各自特有的节点元素。表二XML节点功能说明alpha渐变透明度动画效果fromAlpha属性为动画起始时透明度0.0表示完全透明1.0表示完全不透明以上值取0.0-1.0之间的float数据类型的数字toAlpha属性为动画结束时透明度表三scale渐变尺寸伸缩动画效果fromXScalefloat fromYScalefloat为动画起始时,X、Y坐标上的伸缩尺寸0.0表示收缩到没有1.0表示正常无伸缩值小于1.0表示收缩值大于1.0表示放大toXScale floattoYScalefloat为动画结束时,X、Y坐标上的伸缩尺寸pivotXfloatpivotYfloat为动画相对于物件的X、Y坐标的开始位置属性值说明:从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置表四translate画面转换位置移动动画效果fromXDeltatoXDelta为动画、结束起始时 X坐标上的位置fromYDeltatoYDelta为动画、结束起始时 Y坐标上的位置表五rotate画面转移旋转动画效果fromDegrees为动画起始时物件的角度说明当角度为负数表示逆时针旋转当角度为正数表示顺时针旋转(负数fromto正数:顺时针旋转)(负数fromto负数:逆时针旋转)(正数fromto正数:顺时针旋转)(正数fromto负数:逆时针旋转)toDegrees属性为动画结束时物件旋转的角度 可以大于360度pivotXpivotY为动画相对于物件的X、Y坐标的开始位说明:以上两个属性值 从0%-100%中取值50%为物件的X或Y方向坐标上的中点位置看了上面的例子,想必大家也想看下,这些定义的动画,运行起来是什么样效果,下面运行Scale例子中的动画,界面变化如下:按照上面的讲述学习完了Tween Animation的定义,对Tween Animation有了详细的了解,再去了解下Android SDK的animation package(android.view.animation),其提供了操作Tween Animation所有的类。Android SDK提供了基类:Animation,包含大量的set/getXXXX()函数来设置、读取Animation的属性,也就是前面表一中显示的各种属 性。Tween Animation由4种类型:alpha、scale、translate、roate,在Android SDK中提供了相应的类,Animation类派生出了AlphaAnimation、ScaleAnimation、 TranslateAnimation、RotateAnimation分别实现了平移、旋转、改变 Alpha 值等动画,每个子类都在父类的基础上增加了各自独有的属性。再去看下这几个类的构造函数,是不是与我们在表二、表三、表四、表五种定义的属性完全一样。在了解了Tween Animation的定义,对android.view.animation有了一些基本的认识后,开始介绍Tween Animation如何使用。Android SDK提供了2种方法:直接从XML资源中读取Animation,使用Animation子类的构造函数来初始化Animation对象,第二种方法在 看了Android SDK中各个类的说明就知道如何使用了,下面简要说明从XML资源中读取Animation,按照应用程序开发的过程,介绍整个使用的过程,如下:1. 创建Android工程;2. 导入一张图片资源;3. 将reslayoutmain.xml中的TextView取代为ImageView;4. 在res下创建新的文件夹anim,并在此文件夹下面定义Animation XML文件;5. 修改OnCreate()中的代码,显示动画资源;关键代码,解析如下:/main.xml中的ImageViewImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage);/加载动画Animation hyperspaceJumpAnimation =AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);/使用ImageView显示动画spaceshipImage.startAnimation(hyperspaceJumpAnimation);工程的源代码提供给大家下载,下载地址,这里简要解析如下: AnimationUtils提供了加载动画的函数,除了函数loadAnimation(),其他的到Android SDK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论