动画和图形概述


Android提供了大量的强大的API以应用于UI动画和绘制2D和3D图形。下面各节向你描述了这些API的预览和系统能力以帮助你决定怎么才是达到你需求的最佳方法。

动画

Android框架提供了两个动画系统:两种动画系统都是切实可用的,但是一般情况下属性动画系统是被首推使用的。因为它更灵活并且提供了更多的特性。在此两系统之外,你还可以使用Drawable动画,它使得你可以加载drawable资源并且一帧帧的显示它们。

Property动画

从Android3.0(APIlevel11)开始引入,property动画系统使你可以动画一个对象的propertie,包括那些不能显示在屏幕上的对象。此系统是可扩展的并且也能让你动画自定义类型的propertie。

View动画

View动画是旧的动画系统并且只能被用于View。它的建立相对容易并且提供了足够的能力来满足任何应用的需求。

Drawable动画

Drawable动画一个接一个的显示Drawable资源,就像放电影。

2D3D图形

当写一个应用时,仔细考虑你的图形需求是很重要的。不同的图形任务使用不同的技术实现。例如,图形和动画的实现对于一个静态应用与一个交互式游戏就差别很大。下面,我们将讨论一些在Android系统上的绘制图形的操作以及它们最适合的任务。

Canvas和Drawables

Android提供了一系列的Viewwidget,它们提供了丰富的用户界面功能。你也可以扩展这些widgets来改变它的们样子和行为。另外,你可以使用Canvas类的丰富的绘制方法做你自己的2D图形或为纹理按钮或一帧接一帧的动画创建Drawable对象。

硬加速

从Android3.0开始,你可以使用主流的CanvasAPI的硬加速功能大辐提高它们的性能。

OpenGL

Android支持OpenGLES1.0和2.0,Android框架API和本地API(NDK)都支持。当你想为你的应用添加一些CanvasAPI不支持的增强功能时,或你希望不依赖于平台并且没有高性能需求时,应使用框架API。NDK与框架API之间有性能的差别,所以图形集中式的应用比如游戏,使用NDK更佳(但是还要注意重要的一点,你仍然可以使用框架API达到高性能。比如,GoogleBodyapp就是完全用框架API实现的)。NDK中的OpenGL还有一个用处是用于移植本地代码(比如C++代码)到Android。


下一篇:android动画详解二 属性动画原理


更多相关文章

  1. Android键盘系统——改变按键功能(2)
  2. Android系统版本与AspectJ
  3. 一切为了更贴近系统―Android中的线程模型
  4. Android、Symbian系统手机通讯录和Google Gmai同步
  5. 深入源码系列:聊聊android属性动画执行线程问题(invalidate(false
  6. Android调用系统安装程序打开本地文件(包括 Android7.0以上)
  7. Android中的动画和原理(帧动画和补间动画)
  8. 安卓开机logo和开机动画的几种实现方法
  9. android 简单地设置Activity界面的跳转动画

随机推荐

  1. Android(安卓)tree应用框架
  2. Android(安卓)Material Design 实践(四)-
  3. Android常用代码
  4. Android中自动跳转到系统设置界面
  5. android Bitmap和Drawable转换
  6. Android多媒体开发(4)————移植Libmad到
  7. Android(安卓)反射获得控件对象
  8. TabLayout 设置指示器宽度问题
  9. Android(安卓)build失败 原因总结:
  10. android屏蔽返回键