Android API指南之动画与图形(1)——动画与图形概览

动画

Android系统框架提供了两种动画系统:属性动画和View动画。属性动画更加灵活,可以提供更多特性,因而优先选择属性动画。除了这两个,还有Drawable动画,它可以加载图片资源,一张一张地展示。

属性动画

可以让任意对象的属性动态化,包括那些不在屏幕上渲染的。该系统具有可扩展性,也可以允许你将自定义类型的属性动态化。

View动画

以前的动画系统,只能用于View。设置相对容易,可以提供足够的功能满足许多应用需求。

Drawable动画

Drawable 需要一个一个地展示图片资源,就像电影胶卷一样。该动画方法对于那些很容易用动画资源展示动画的情况下是有用的,比如bitmap的进度动画。

2D和3D图形

在写一个应用时,认真考虑你的图片需求很重要。不同的图片任务最好用不同的技术实现。例如,一个静态应用的图片和动画与一个交互类游戏的图片和动画的实现应该是大不一样的。这里我们讨论一些绘制Android图片的可选方法,以及他们最适合的任务。

Canvas和Drawables

Android提供了一些View控件组,他们为一系列用户界面提供了通用功能。你也可以扩展这些控件,修改他们的样式和行为。另外,你们可以使用包含在Canvas类中的各种绘图方法或
者创建Drawable对象(比如文本按钮、帧动画)定制你的自定义2D渲染。

硬件加速

从Android3.0开始,你可以硬件加速Canvas APIs绘图工作的主要部分,进一步提高性能。

OpenGL

Android支持使用Android的框架APIs或者NDK的OpenGL ES 1.0和2.0。当你想要在应用中添加一些Canvas APIs不支持的图片增强或者你需要平台独立并对性能没有太高要求时,请使用framework APIs. 与NDK相比,使用framework APIs对性能有一些影响,因此对于游戏这类图形密集性应用,使用NDK更好(值得注意的是,使用framework APIs仍然能够获得足够的性能。例如Google Body就是完全使用framework APIs开发的)。如果你有很多要移植到Android的原生代码,这种情况下,使用NDK的OpenGL也很有用。关于使用NDK的更多信息,请阅读NDK 的docs/directory下的文档。

猜你喜欢

转载自blog.csdn.net/kevinscsdn/article/details/79034189