Andorid Animation and Graphics系列(一)

来源:互联网 发布:淘宝我的好友在哪里找 编辑:程序博客网 时间:2024/04/30 02:17

Animation Graphics概述

接触Android也有一年多时间了,之前做JavaEE还算有点基础,这一年也收获了不少东西,公司没什么大的产品,重点也不在移动端,自己在底下也算学了很多东西总感觉没有用武之地,最近考虑换工作正好总结一下,希望能写成博客一是将一些有价值的东西记录下来,二是希望能对有需要的人有所帮助。
Animation and Graphics系列大部分是自己根据官方文档的译文,加上自己理解。如果有条件建议读一下Google的Android文档,简直是学习Android的最佳资料,不能再赞。废话少说,进入正题。
Android为UI元素的动画和绘制自定义2D、3D图形提供了一系列强大的API。下面就这些API进行一系列详细介绍,在开发中我们就可以游刃有余的进行相应的应用。

Animation

Android框架提供了两种动画系统:属性动画(Property Animation,3.0之后引入)和视图动画(View Animation)。这两种动画都是可配置的,但是推荐属性动画优先使用,因为他具有高度的灵活性,以及提供更多的配置特征。除此之外,我们还可以使用Drawable Animation,Drawable Animation可以一帧一阵的加载drawable资源文件,例如后文我们将会讲到利用Drawable Animation实现正在加载的动画效果。

Property Animation

在3.0(API level 11)中引入了属性动画,属性动画可以实现任何对象属性的动画效果,包括在屏幕上没有渲染出来的。属性动画是可扩展的,可以很好的实现自定义属性的动画效果。

View Animation

View Animation是比较早的动画系统而且只能用于View对象及其子类。他高度易用并且提供了强大的能力来应付app的各种需求。

Drawable Animation

Drawable Animation依次展示drawable资源,就像老式胶卷放映机一样,一帧帧的图片连起来播放给人产生视觉动画效果。

2D、3D 图形

app开发过程中,正确的考虑app的图形需求十分重要,尤其很多交互性强的app。不同的图形任务需要不同的技术来完成。比如,图形和动画对于一个相互对交互性不是很强的app和一个交互性很强的游戏来说,需要的程度和效果是完全不一样的。

Canvas 和 Drawable
Android提供了一系列具有通用功能的View控件来满足用户需求,我们可以继承这些控件去自定义的改变这些原生控件的外观和行为。除此之外,可以使用Canvas类中提供的各种绘制方法来渲染我们自己的2D图形或者创造出纹理外观的按钮和逐帧动画。

Hardware Acceleration

从3.0开始,Canvas的API绘制的大部分图形都可以通过开启硬件加速来进一步提高他们的性能。

OpenGL

Android支持OpenGL ES 1.0和2.0,Android本身通过NDK对这一协议进行了很好的支持。在想要增加一些图形处理增强APP体验但是Canvas API却不支持这些图形的时候使用framework API不失为一种理想的选择,或者希望平台独立而且不要求高性能的时候。使用framework API相比NDK来说有一个性能下降的问题,所以对多数图形交互密集的app比如游戏来说,使用NDK是比较有益的(必须要明白的是我们仍然可以使用framework API达到充足的性能要求。比如,Google机器人app就是完全使用framework API开发的)。

以上介绍了Android Animation和Graphics的一些概况,后面将作详尽叙述。

0 0
原创粉丝点击