动画和图形概述
Android提供了各种强大的API,用于将动画应用于UI元素和绘制自定义2D和3D图形。 下面的部分提供了可用的API和系统功能的概述,并帮助您决定与方法是最适合您的需要。
动画
Android框架提供了两个动画系统:属性动画和视图动画。 两个动画系统都是可行的选项,但是属性动画系统通常是首选的使用方法,因为它更灵活,并提供更多的功能。 除了这两个系统,你可以使用可绘制动画,它允许你加载可绘制资源并一帧接一帧地显示它们。
** 属性动画**
在Android 3.0(API级别11)中引入,属性动画系统允许您对任何对象的属性进行动画处理,包括未呈现到屏幕的对象。 该系统是可扩展的,并允许您动画自定义类型的属性。
** 视图动画**
视图动画是旧的系统,只能用于视图。 它相对容易设置和提供足够的功能,以满足许多应用程序的需要。
** 可绘制动画**
可绘制动画涉及显示Drawable相继资源之一,就像一卷胶卷。 这种动画方法是有用的,如果你想动画的东西,更容易用Drawable资源来表示,如位图的进度。
2D和3D图形
在编写应用程序时,重要的是要考虑你的图形需求。 变化的图形任务最好用不同的技术来完成。 例如,用于相当静态应用的图形和动画应当与用于交互式游戏的图形和动画不同地实现。 在这里,我们将讨论在Android上绘制图形的几个选项,以及它们最适合的任务。
** 画布和Drawables**
Android提供了一组View提供了各种各样的用户界面一般功能部件。 您还可以扩展这些小部件以修改它们的外观或行为方式。 此外,可以使用包含在各种绘图方式做自己的自定义2D渲染Canvas类或创建Drawable的事情对象,如纹理按钮或帧一帧动画。
** 硬件加速**
从Android 3.0开始,您可以通过硬件加速由Canvas API完成的大部分绘图,以进一步提高其性能。
** OpenGL的**
Android支持OpenGL ES 1.0和2.0,使用Android框架API以及本机开发工具包(NDK)。 当您想要为您的应用程序添加Canvas API不支持的一些图形增强功能时,或者您希望独立于平台并且不需要高性能时,使用框架API是可取的。 与NDK相比,使用框架API有一个性能损失,所以对于许多图形密集型应用程序,如游戏,使用NDK是有益的(重要的是要注意,你仍然可以使用框架API获得足够的性能。例如,Google Body应用程序完全使用框架API开发)。 使用NDK的OpenGL也是有用的,如果你有很多本地代码,你想移植到Android。 有关使用NDK的更多信息,请阅读的文档docs/
的目录NDK下载
。