第9章--Android-2D动画_第1页
第9章--Android-2D动画_第2页
第9章--Android-2D动画_第3页
第9章--Android-2D动画_第4页
第9章--Android-2D动画_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、Android基础与应用开发教程大连理工大学出版社Android 2D动画第9章9.1 逐帧动画9.1.1 规划逐帧动画9.1 逐帧动画9.1.2 创建活动9.1 逐帧动画在Android中通过图形包中的AnimationDrawable类就可以实现逐帧动画。这个类可以获取Drawable资源列表(类似于图像)并按指定间隔渲染它们。AnimationDrawable类实际上是基本的Drawable类所提供的动画小型打包器。Drawable类请求它的容器或视图激活Runnable类来开启动画功能,而Runnable类可用不同的参数集重新绘制Drawable。注意,使用AnimationDrawa

2、ble类时并不需要知道其内部实现的细节。但是如果有更复杂的需要,就应当看一下AnimationDrawable的源代码,以便指导动画的编写。9.1.3 给活动添加动画9.2 布局动画 补间动画的基本类型有下述四种:缩放动画:让视图在X轴或Y轴上改变大小。也可以指定动画变化的中心点;旋转动画:在某中心点周围将视图做一定程度的旋转;平移动画:将视图沿着x轴或Y轴移动;alpha动画:改变视图的透明度。9.2.1 补间动画的基本类型9.2 布局动画在活动中设置一个简单的ListView,就可将动画添加到其中,让每个列表项目都进人动画之中。假定我们有一个能够让视图在Y轴上从0增长到原来大小的缩放动画,

3、我们可以把该动画添加到ListView中。然后再设置一些参数来扩展这个基本的动画,让该列表自顶向下、自左向右地活动起来。我们可通过一个中间类来指定这些参数,中间类起到单个动画与列表的媒介作用。单个动画和媒介都可在/res/anim子目录中的XML文件内进行定义。一旦有了媒介XML文件,就可以把该文件用作其XML布局中所定义的ListView的输人。完成这个基本设置后,就可以启动修改后的动画,观察修改后ListView的显示情况。9.2.2 布局动画的测试工具9.3 视图动画9.3.1 视图动画的概念视图在Android屏幕上显示时,它已经过变换矩阵的处理。在图形应用程序中,可利用变换矩阵来变换

4、视图。这个过程涉及获取像素坐标输人集合和颜色组合,以及将它们转换成新的像素坐标集合和颜色组合。变换结束后,所看到的是改变了大小、位置、方向和颜色的图形。这个变换过程,就是乘以变换矩阵的过程;更改变换矩阵,就可以影响视图的外貌。如果视图乘以某矩阵而不发生改变时,该矩阵就称为单位矩阵。通常都是从单位矩阵开始,然后应用一系列涉及大小、位置和方向的变换获得视图的动画效果。Android提供视图变换矩阵的办法是用视图注册动画对象。该动画对象利用回调函数获得视图的当前变换矩阵,并用它改变视图获得新视图。本节我们将探讨这个过程。9.3 视图动画9.3.2 添加动画效果我们的目的是给图9-5中的ListVie

5、w添加动画。为此,首先从android. view.animation. Animation类派生一个类ViewAnimation,然后重载它的applyTransformation()方法来修改变换矩阵。完成这些工作之后,就可以对ListView类做下面的事情:9.3 视图动画9.3.3 用摄像机提供2D的深度感Android图形包中提供了另一种动画变换相关的类Camera摄像机)。这个类将3D空间内运动的2D图像投影到2D表面上,以提供深度感觉。例如,可将ListView沿z轴向屏幕后移10个像素,再围绕Y轴旋转30度。下面是用Camera操纵矩阵的例子:9.3 视图动画9.3.5 有关变换矩阵的注释9.4 本章小结在本章,我们介绍了一种有乐趣的办法,即用动画功能来扩充UI程序来增强它。我们的讨论涵盖了Android支持的所有主要的动画类型,包括逐帧动画、布局动画和视图动画。此外,还

温馨提示

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

评论

0/150

提交评论