动画和图形概述

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. Ubuntu 16.04 LTS安装好之后需要做的15件事

    看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...

  2. 升级mojave后的小问题解决

    首先是xcode没了,我到苹果软件市场上重新下载了一个,可以了. 然后是virtualbox无法打开了,现实版本不兼容,我到官网重新下载了一个最新的6.0.然后就可以正常打开了,并且是无感升级,原来的 ...

  3. poj_1681_高斯消元

    这道题和之前的把那一道1222很类似.仅仅只是一定要注意一下对于无解的推断. /*########################################################### ...

  4. Eclipse开发Android的配置(包括ADT安装,SDK配置)

      1. 下载Android SDK http://code.google.com/android/download.html下载后直接解压就可以使用了. 为了在DOS控制台中直接使用SDK的工具,可 ...

  5. H面试(23):求子数组最大和

    题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2 ...

  6. 二叉查找树实现实例(C语言)

    /* search_tree.h */ #ifndef _SEARCH_TREE_H #define _SEARCH_TREE_H struct tree_node; typedef struct t ...

  7. angular中如何监控dom渲染完毕

    刚刚看到群上一个人说,他们公司凡是用angular和jquery插件一起用的人,都被解雇了,没看到这句话之前我很惭愧的说我有这样用过,其实angular的生态系统那么完善,完全可以不用去操作任何的do ...

  8. MySQL优化小案例:连接数

    错误代码:MySQL: ERROR 1040: Too many connections 经常会遇到这个错误,要么是业务增长,正常的访问量增多,要么是自己的max_connections设置的过小了 ...

  9. 全局安装 vue

    通过npm命令安装vuejs在用 Vue.js 构建大型应用时推荐使用 NPM 安装,NPM 能很好地和诸如 Webpack 或Browserify 的 CommonJS 模块打包器配合使用.(以下操 ...

  10. vue diff算法 patch

    1.diff比较算法 图示: diff比较只会在同层级进行, 不会跨层级比较. 所以diff是:广度优先算法. 时间复杂度:O(n) 代码示例: <!-- 之前 --> <div&g ...