Develop > API Guids > Animation and Graphics
Animation and Graphics Overview
概述:Android提供了各种强大的API,用于将动画应用于UI元素和绘制自定义2D和3D图形。下面的部分提供了可用的API和系统功能的概述,并帮助您决定最适合您的需要的方法。
Animation
Android框架提供了两个动画系统:属性动画和视图动画。两个动画系统都是可行的选项,但是属性动画系统通常是首选的使用方法,因为它更灵活,并提供更多的功能。除了这两个系统,你可以使用可绘制动画,它允许你加载可绘制资源并一帧接一帧地显示它们。
属性动画 Property Animation
在Android 3.0(API级别11)中引入,属性动画系统允许您对任何对象的属性进行动画处理,包括未呈现到屏幕的对象。该系统是可扩展的,并允许您动画自定义类型的属性。
视图动画 View Animation
视图动画是旧的系统,只能用于视图。它相对容易设置和提供足够的功能,以满足许多应用程序的需要。
可绘制动画 Drawable Animation
可绘制动画包括一个接一个地显示可绘制资源,就像一卷电影。这种动画方法是有用的,如果你想动画的东西,更容易用Drawable资源来表示,如位图的进度。
2D和3D图形
在编写应用程序时,重要的是要考虑你的图形需求。变化的图形任务最好用不同的技术来完成。例如,用于相当静态应用的图形和动画应当与用于交互式游戏的图形和动画不同地实现。在这里,我们将讨论在Android上绘制图形的几个选项,以及它们最适合的任务。
画布和绘制 Canvas and Drawables
Android提供了一组View小部件,为各种用户界面提供一般功能。您还可以扩展这些小部件以修改它们的外观或行为方式。此外,您可以使用Canvas类中包含的各种绘制方法来执行自己的自定义2D渲染,或者为诸如纹理按钮或逐帧动画之类的内容创建Drawable对象。
硬件加速 Hardware Acceleration
从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的更多信息,请阅读NDK下载的docs /目录中的文档。