摘要: 第5章 硬件加速从Android 3.0 (API level 11)开始,Android 2D渲染管道能更好的支持硬件加速。硬件加速通过在View的Canvas上使用GPU执行各种绘画操作。因为硬件加速需要消耗更多的资源,所以你的App需要更多的内存。开启硬件加速最简单的方法是在整个应用全局设置。如果应用只使用标准的View和Drawable,全局设置不会产生不利的影响。然而,因为硬件加速不支持所有的2D绘制操作,开启这个功能会影响一些自定义View或者绘制调用。问题显示为不可见的元素、异常,或者像素渲染错误。为了补救这些,在以下几个层面中Android提供给你选项开启或者关闭硬件加速:Ap 阅读全文
posted @ 2013-12-23 18:30 jy02432443 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 第4章 OpenGLAndroid通过使用开放图形库(OpenGL)对高性能的2D和3D图形处理提供支持,尤其是,OpenGL ES API。OpenGL是一个跨平台图形处理的API,并且定义了标准的软件接口用来调用处理3D图形的硬件。OpenGL ES是专门为嵌入式设备而开发的OpenGL。从Android 1.0就已经开始支持OpenGL ES 1.0 和1.1 API,而从Android 2.2(API 8)开始,Android提供了对OpenGL ES 2.0API的支持。注意:Android框架所提供的API和J2ME JSR239 OpenGL ES API非常相似,但是并不完全相 阅读全文
posted @ 2013-12-23 18:25 jy02432443 阅读(1888) 评论(0) 推荐(1) 编辑
摘要: 第3章 Canvas和 DrawablesAndroid框架API提供一套2D绘制的API,允许你在canvas(画布)上渲染你自定义的图形或修改已存在的View并定制它们的外观,当绘制2D图形时,你通常会在下面二选一:A.从你的布局里绘制你的图形或动画到一个View对象中。用这种方式,你的图形由系统正常的View层次绘制过程来处理,你只需要简单的定义图形到View中即可。B.绘制你的图形到Canvas。这种方式你自己可以调用相应的类的onDraw()方法,或Canvas中的draw...()方法,如drawImage()。这样做时,你也能控制任何动画。选项A绘制到一个View中,当你想要绘制 阅读全文
posted @ 2013-12-23 18:19 jy02432443 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 第2章 View动画与Drawable动画2.1 View动画你可以使用View的动画系统,在View上执行的补间动画。补间动画进行,如起点,终点,大小,旋转,动画的其他普通法方面的计算。补间动画可以执行一系列简单的View对象的内容转换(位置,大小,旋转,透明度)。所以,如果你有一个TextView的对象,你可以移动,旋转,放大,或缩小文本。如果它有一个背景图片,背景图片将随着文字变形。animation这个包(package)中提供了所有用于补间动画类。定义补间动画所指定的序列可以通过XML或Android代码来定义。推荐使用XML文件来定义一个布局,因为它更具可读性,可重复使用,易修改。 阅读全文
posted @ 2013-12-23 18:12 jy02432443 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 第1章 属性动画及动画与图形概述Android提供了一系列强大的API来把动画加到UI元素中,以及绘制自定义的2D和3D图像中去。下面的几节将综述这些可用的API以及系统的功能,同时帮你做出最优的选择1.1 动画Android框架提供了两种动画系统:属性动画(在Android3.0中加入)以及View动画。这两种动画系统都有可行的选择,但是总的来说,属性动画系统是更好的选择,因为它更加灵活,并提供了更多的特性。在这两种系统之外,你可以使用Drawable动画(帧动画),就是你可以加载画图资源,并一帧接一帧的显示它们。属性动画:在Android3.0中加入 (API level 11), 属性动 阅读全文
posted @ 2013-12-23 18:09 jy02432443 阅读(1560) 评论(0) 推荐(0) 编辑
摘要: 第5章 资源类型这一大章节的每个部分描述了一类应用资源的用法,格式和语法。你可以把这些资源放在你的资源目录下(即res/)。下面是对每个资源类型的简介:◆动画资源(Animation Resources)定义预设的动画。补间动画被保存在res/anim目录下且可通过R.anim这个类访问它。帧动画保存在res/drawable/目录下,可通过R.drawable这个类访问它。◆颜色状态列表资源(Color State List Resource)定义了一个根据视图状态改变的颜色资源。保存在res/color,通过R.color这个类访问。◆可绘制的资源(Drawable Resources)用 阅读全文
posted @ 2013-12-23 13:51 jy02432443 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: 第4章 本地化Android系统会在很多地区的不同设备上运行。为了能够将应用提供给更多的用户,你的应用应该以不同的方式处理文本、音频文件、数字、货币和图形,以适合于你应用使用的地点。本文档描述了本地化Android应用最好的实例。原则上允许你用Eclipse、Ant-based tools、或者其他任何搭载ADT的IED来开发Android应用。你应该已经有了一些Java的工作经验并熟悉Android资源的加载,熟悉在XML中声明用户界面元素,了解一些开发的知识(如Activity的生命周期),了解国际化和本地化的基本原则。4.1 概览:Android的资源切换资源包括文本的字符串、布局文件、 阅读全文
posted @ 2013-12-23 11:54 jy02432443 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 第3章 处理运行时改变一些设备配置在运行过程中可能会发生改变(例如屏幕横向布局、键盘可用性和语言)。当这样的变化发生时,Android会重新启动这个正在运行的Activity(onDestroy()方法会被调用,然后调用onCreate()方法)。这个重启的动作是为了通过自动往你的应用程序中载入可替代资源,从而使你的应用适应新的配置。为了正确执行一次重启,你的Activity在整个平凡的生命周期中重新保存它之前的状态是很重要的,Android是通过在销毁你的Activity之前调用onSaveInstanceState()方法来保存关于应用之前状态的数据。然后你就可以在onCreate()方法 阅读全文
posted @ 2013-12-23 11:51 jy02432443 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 第2章 资源访问一旦你在你的应用程序中提供了一个资源(在上一章资源提供中讨论过),你可以通过引用它的资源ID来调用它。所有在工程项目中R类中定义的资源ID都是能过aapt自动生成的。当你的应用程序被编译时,aapt生成了R类,其中包含了res/路径下所有资源的资源ID。对于每种类型的资源,都有的一R类的子类(如:R.drawable对应绘图资源)并且对于每一种资源类型,都有一个静态整型常量(如,R.drawable.icon)。这个整型常量就是可以被用来调用资源的资源ID。虽然资源ID是在R类中指定的,但你并不需要去那儿找资源ID。一个资源ID总是由以下部分组成:◆资源类型:每一个资源都是以某 阅读全文
posted @ 2013-12-23 11:49 jy02432443 阅读(891) 评论(0) 推荐(1) 编辑
摘要: 第1章 资源提供你应该经常外部化你应用程序代码中的资源,比如图片、字符串等,这样有利于你独立处理这些资源。你也应该根据特定的设备配置提供一些可替代的资源,并且把他们分组保存在指定的路径名下。运行时,Android可以根据当前的配置使用适当的资源。比如,你也许会根据不同的屏幕尺寸提供不同的UI布局或是不同的语言设定提供不同的字符串。一旦你外部化了应用程序中的资源,你就能通过项目中的R类生成的ID来调用他们。本章将向你展示怎么样分类你Android项目中的资源,以及怎么样给特定的设备配置提供可替代的资源。1.1 资源类型分组你应该把每一种类型的资源分别放在你的项目中res/中特定的子路径下。这是一 阅读全文
posted @ 2013-12-23 11:33 jy02432443 阅读(2684) 评论(0) 推荐(0) 编辑
摘要: 第12章 自定义组件Android平台提供了一套完备的、功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和ViewGroup这两个基础布局类为基础。平台本身已预先实现了多种用于构建界面的View子类和ViewGroup子类,他们被分别称为widget和layout。界面工具集(widget)包括Button、TextView、EditText、ListView、CheckBox、RadioButton、Gallery、Spinner等这些常用部件以及有着专门用途的AutoCompleteTextView、ImageSwitcher和TextSwitcher。布局(layout)包 阅读全文
posted @ 2013-12-23 11:16 jy02432443 阅读(574) 评论(0) 推荐(1) 编辑
摘要: 第11章 样式和主题style是用于指定View或window的外观和格式的一系列属性的集合。style可以指定高(height)、填补(padding)、字体颜色、字体大小、背景颜色等等属性。style定义在不同于用来设置布局的XML资源中。Android中的Syles与网页设计中的层叠样式表有着相似的原理——允许你将设计从内容中分离出来。例如,使用一个style,你可以将下面这个布局:变成这样:所有与style相关的属性从XML布局中移出,放到一个名为CodeFont的style定义中,通过style属性应用。你将在以下章节中看到此类style的定义。theme是一个应用于整个Activi 阅读全文
posted @ 2013-12-23 11:15 jy02432443 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 第10章 拖放使用Android的拖放框架,允许用户通过一个图形化的拖放动作,把数据从当前布局中的一个视图上转移到另一个视图上。这个框架包含了一个拖动事件类,拖动监听器和一些辅助的方法和类。虽然这个框架主要是为了数据的移动而设计的,但是你可以将这些移动的数据提供给其他的UI操作使用。例如:你可以创建一个当用户把一个彩色图标拖到另一个彩色图标上时,将颜色混合起来的应用。接下来本文将描述关于这个拖放框架的数据移动的内容。10.1 概述当用户执行一些被当作是开始拖动数据的信号的手势时,一个拖放动作就开始了。作为回应,你的应用程序告诉系统拖动动作开始了。系统回调你的应用程序获取一个代表数据正在被拖动的 阅读全文
posted @ 2013-12-23 11:11 jy02432443 阅读(1564) 评论(0) 推荐(0) 编辑