动画和图形概述

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. 如果不用jQuery,Ajax你还能写出多少?

    许久之前发过一篇关于Ajax的博客,通篇讲的都是通过jQuery编写Ajax,可能因为jQuery在这方面做的实在太好,以至于突然发现不用jQuery的话自己都模糊了Ajax的写法,这里重温一下. F ...

  2. Druid对比Elasticsearch

    我们不是Elasticsearch的专家, 如果描绘有误, 请通过邮件列表或者其他途径告知我们. Elasticsearch 是基于Apache Lucene搜索服务器.  提供了对无模式文档的全文检 ...

  3. spring boot xml与dao 映射关系

    mybatis的xml路径要和 dao的路径一模一样 dao 用@Mapper 注解

  4. Jmeter-Maven-Plugin高级应用:Configuring the jvm that the jmeter process runs in

    Configuring the jvm that the jmeter process runs in The JMeter Maven plugin will run the JMeter proc ...

  5. Pinger2

    import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import j ...

  6. 【Python学习笔记】

    目录 语法 if语句 while循环 字符串常用操作 列表 只读列表元组 字典的使用 语法 if语句 示例 #!/usr/bin/env python user = 'jack' passwd = ' ...

  7. IP综合

    获取客户端IP的常用方法和注意事项: 进阶一:常用的方法,但是不够严谨. function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) ...

  8. C#.NET常见问题(FAQ)-Combobox如何设置不可以编辑

    设置它的DropDownStyle为DropDownList即可     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   ...

  9. Discuz常见大问题-如何允许用户插入视频-如何自己在页面中插入视频

    从视频的下面分享中获取html代码 然后粘贴到你创建页面的指定位置(注意从优酷复制的视频宽度和高度可能比较小,你可以自己调整,或者占据100%) 最终的实现效果

  10. Javascript高级程序设计-对象

    学习Javascript,最难的地方是什么? Object(对象)最难,初学者不容易掌握. Javascript是一种基于对象(object-based)的语言,它的语法中没有class(类). C# ...