动画和图形概述

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

动画

Android 框架提供了两个动画系统: 两种动画系统都是切实可用的,可是普通情况下属性动画系统是被首推使用的。由于它更灵活而且提供了很多其它的特性。在此两系统之外。你还能够使用Drawable动画,它使得你能够载入drawable资源而且一帧帧的显示它们。

Property动画

从Android 3.0 (API level 11)開始引入。property动画系统使你能够动画一个对象的propertie,包含那些不能显示在屏幕上的对象。此系统是可扩展的而且也能让你动画自己定义类型的propertie。

View动画

View 动画是旧的动画系统而且仅仅能被用于View。它的建立相对easy而且提供了足够的能力来满足不论什么应用的需求。

Drawable动画

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

2D 和 3D 图形

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

Canvas 和 Drawables

Android提供了一系列的 View widget。它们提供了丰富的用户界面功能。

你也能够扩展这些widgets来改变它的们样子和行为。

另外,你能够使用Canvas 类的丰富的绘制方法做你自己的2D图形或为纹理button或一帧接一帧的动画创建 Drawable 对象。

硬加速

从Android 3.0開始,你能够使用主流的Canvas API的硬加速功能大辐提高它们的性能。

OpenGL

Android 支持OpenGL ES 1.0和2.0,Android框架API和本地API(NDK)都支持。当你想为你的应用加入一些Canvas API不支持的增强功能时,或你希望不依赖于平台而且没有高性能需求时。应使用框架API。NDK与框架API之间有性能的区别,所以图形集中式的应用比方游戏,使用NDK 更佳(可是还要注意重要的一点,你仍然能够使用框架API达到高性能。比方。Google Body app就是全然用框架API实现的)。 NDK中的OpenGL另一个用处是用于移植本地代码(比方C++代码)到Android。

下一篇: android动画具体解释二 属性动画原理

android动画具体解释一 概述的更多相关文章

  1. android动画具体解释二 属性动画原理

    property动画是一个强大的框架,它差点儿能使你动画不论什么东西. 你能够定义一个动画来改变对象的不论什么属性,不论其是否被绘制于屏幕之上. 一个属性动画在一定时间内多次改变一个属性(对象的一个字 ...

  2. android动画具体解释四 创建动画

    使用ValueAnimator进行动画 通过指定一些int, float或color等类型的值的集合.ValueAnimator 使你能够对这些类型的值进行动画.你需通过调用ValueAnimator ...

  3. android动画具体解释六 XML中定义动画

    动画View 属性动画系统同意动画View对象并提供非常多比view动画系统更高级的功能.view动画系统通过改变绘制方式来变换View对象,view动画是被view的容器所处理的,由于View本身没 ...

  4. android 动画具体解释(二)

    以下就開始学习属性动画的基本使用方法,我们来看属性动画的继承关系,例如以下如所看到的: 显然关注的焦点应该是ValueAnimator,ObjectAnimator这两个类啦,ObjectAnimat ...

  5. Android 动画具体解释View动画

    为了让用户更舒适的在某些情况下,利用动画是那么非常有必要的.Android在3.0一旦支持两种动画Tween动漫Frame动画.Tween动画支持简单的平移,缩放,旋转,渐变.Frame动画就像Gif ...

  6. Android 动画具体解释Frame动画 (Drawable Animation)

    Frame动画像gif画画,通过一些静态的图片,以实现动画效果. Android sdk该AnimationDrawable就是专门针对Frame动画,当然Frame动画也可在java代码或者xml中 ...

  7. Android中的动画具体解释系列【4】——Activity之间切换动画

    前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...

  8. android 动画xml属性具体解释

    /** * 作者:crazyandcoder * 联系: * QQ : 275137657 * email: lijiwork@sina.com * 转载请注明出处! */ android 动画属性具 ...

  9. Android动画学习(二)——Tween Animation

    前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...

随机推荐

  1. android 创建通知栏Notification

    ///// 第一步:获取NotificationManager NotificationManager nm = (NotificationManager) getSystemService(Cont ...

  2. Spark性能优化(2)——广播变量、本地缓存目录、RDD操作、数据倾斜

    广播变量 背景 一般Task大小超过10K时(Spark官方建议是20K),需要考虑使用广播变量进行优化.大表小表Join,小表使用广播的方式,减少Join操作. 参考:Spark广播变量与累加器 L ...

  3. 应用程序无法正常启动0xc000007b解决

    可能原因: 1.电脑没有安装DirectX9或者DirectX 9.0 组件损坏; 2.电脑没有安装Microsoft Visual C++ 3.电脑上没有安装.net 解决方案: 1/2.下载Dir ...

  4. Transform导入数据源TR1008错误

    cognos在建设初期开发者们都常常遇到的一个问题,在这里做一下小小的总结. iqd作为Transform的数据源导入数据的时候遭遇TR1008错误 注意: 从报错的内容可以看出transform不能 ...

  5. Hyper-V如何应用新的网卡

    最近新装了块网卡,可是在Hyper-V的虚拟机设置里怎么也找不到如何应用这个新网卡.   把我郁闷坏了. 偶尔点点,才发现原来不是在虚拟机的设置里面,而是在上面的一级设置. 新建完后就可以在虚拟机的网 ...

  6. /etc/rc.d/init.d/functions文件详细分析

    /etc/rc.d/init.d/functions文件详细分析 functions这个脚本是给/etc/init.d里边的文件使用的(可理解为全局文件). 提供了一些基础的功能,看看里边究竟有些什么 ...

  7. 折腾开源WRT的AC无线路由之路-1

    Tags: tomato, dd-wrt, Netgear, NightHawk, R7000, RT-AC68U, RT-AC66U, N66U, N56U, WRT1900AC, Archer C ...

  8. Office PPT中如何插入flash

    1 在"视图"选项中找到工具栏,控件工具箱,最后一个其他工具中的shockwave flash object 2 当鼠标变成十字架之后随便画一个矩形,然后会出现一个白色的矩形中间十 ...

  9. 谈一谈chrome浏览器使用

    F3或Ctrl+F5: 查找本网页里面的内容,匹配到即可高亮. F6:回到地址栏 Ctrl+J:显示下载内容 Ctrl+N: 新建一个标签页 F10:选项 F11:显示全屏 F12:调试网页 大家有什 ...

  10. Java从零开始学四十一(反射简述二)

    一.实例化Class类对象 实例化Class类对象的方法有三种: 第一种:通过forName()方法 第二种:类.class 第三种:对象.getClass() 二.Class类的常用方法 No. 方 ...