书籍详情
Android高级图形程序设计
作者:[美] 华莱士·杰克逊 著,周建娟 译
出版社:清华大学出版社
出版时间:2022-02-01
ISBN:9787302597582
定价:¥149.00
购买这本书可以去
内容简介
《Android高级图形程序设计》详细阐述了与Android高级图形程序设计相关的解决方案,主要包括Android数字图像、Android数字视频、Android帧动画、Android程序动画、Android DIP、Android UI布局、Android UI小部件、高级ImageView图形设计、高级ImageButton、使用9-Patch技术创建可扩展的图像元件、高级图像混合、高级图像合成、数字图像切换、基于帧的动画、程序动画、高级图形、交互式绘图、使用VideoView和MediaPlayer类播放视频、从外部媒体服务器流式传输数字视频等内容。此外,本书还提供了丰富的示例及代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学读物和参考手册。
作者简介
暂缺《Android高级图形程序设计》作者简介
目录
目 录
第1章 Android数字图像:格式、概念和优化
1.1 Android的数字图像格式:无损与有损
1.2 Android View和ViewGroup类:图像容器
1.3 数字图像的基础:像素和宽高比
1.4 数字图像的色彩:颜色理论和颜色深度
1.5 在Android中表示颜色:十六进制表示法
1.6 图像合成:Alpha通道和混合模式
1.7 数字图像蒙版:Alpha通道的流行用法
1.8 使蒙版边缘更平滑:抗锯齿的概念
1.9 优化数字图像:压缩和抖动
1.10 下载Android开发环境:Java和ADT
1.11 安装和更新Android Developer ADT
1.12 小结
第2章 Android数字视频:格式、概念和优化
2.1 Android数字视频格式:MPEG-4 H.264和WebM(VP8)
2.2 Android VideoView和MediaPlayer类:视频播放器
2.3 数字视频的基础:运动、帧和FPS
2.4 数字视频约定:比特率、流、标清和高清
2.5 Android的数字视频文件:分辨率密度目标
2.6 优化数字视频:编解码器和压缩
2.7 在Eclipse ADT中创建Pro Android Graphics应用程序
2.8 创建视频启动屏幕的用户界面设计
2.9 认识MainActivity.java Activity子类
2.10 创建视频资产:使用Terragen 3 3D软件
2.11 创建未压缩的视频:使用VirtualDub软件
2.12 压缩视频资产:使用Sorenson Squeeze
2.13 在Android中安装视频资产:使用raw文件夹
2.14 在Android应用程序中引用视频资产
2.15 小结
第3章 Android帧动画:XML、概念和优化
3.1 帧动画的概念:帧、帧速率和分辨率
3.2 优化帧动画:颜色深度和帧速率
3.3 使用XML标记在Android中创建帧动画
3.4 Android 标记:父帧容器 3.5 Android的标记:指定动画帧 3.6 为GraphicsDesign App创建帧动画
3.7 复制分辨率密度目标帧
3.8 使用XML创建帧动画定义
3.9 在ImageView中引用帧动画定义
3.10 使用Java实例化帧动画定义
3.11 小结
第4章 Android程序动画:XML、概念和优化
4.1 程序动画概念:补间动画和插值器
4.2 程序动画数据值:范围和中心点
4.3 程序动画变换:旋转、缩放、平移
4.4 程序动画合成:Alpha混合
4.5 程序动画计时:使用持续时间和偏移量
4.6 程序动画循环:RepeatCount和RepeatMode
4.7 标记:使用XML对程序动画进行分组 4.8 程序动画与帧动画:权衡
4.9 在GraphicsDesign应用中创建程序动画的构思
4.10 使用XML创建程序动画定义
4.11 在MainActivity.java中实例化Animation对象
4.12 使用创建更复杂的程序动画 4.13 旋转变换:复杂的动画集
4.14 调整变换值:轻松调整XML
4.15 小结
第5章 Android DIP:与设备无关的像素图形设计
5.1 Android支持设备显示的方式:UI设计和用户体验
5.2 设备显示概念:尺寸、密度、方向、DIP
5.3 与密度无关:创建相似的用户体验
5.4 通过标签支持Android多屏 5.5 提供针对设备优化的用户界面布局设计
5.5.1 使用Android的smallestWidth屏幕配置修饰符
5.5.2 使用可用屏幕宽度修饰符
5.5.3 使用可用屏幕高度修饰符
5.6 提供针对设备优化的图像可绘制资产
5.7 DisplayMetrics类:大小、密度和字体缩放
5.8 优化Android应用程序图标
5.9 在正确的密度文件夹中安装新的应用程序图标
5.10 为自定义应用程序图标配置AndroidManifest.xml
5.11 在Nexus One上测试新的应用程序图标和标签
5.12 小结
第6章 Android UI布局:使用ViewGroup类进行图形设计
6.1 Android ViewGroup超类:布局基础
6.2 ViewGroup LayoutParams类:布局参数
6.3 不推荐使用的布局:AbsoluteLayout和SlidingDrawer
6.4 Android的实验性布局:SlidingPaneLayout
6.5 Android RelativeLayout类:设计相对布局
6.6 Android LinearLayout类:设计线性布局
6.7 Android FrameLayout类:设计帧布局
6.8 Android GridLayout类:设计网格布局
6.9 DrawerLayout类:设计抽屉布局
6.10 添加菜单项以访问UI布局容器
6.11 创建目录活动
6.12 创建XML目录线性布局设计
6.13 将文本UI小部件添加到TOC UI布局容器
6.14 使用onOptionsItemSelected()方法添加菜单功能
6.15 在Nexus One上测试目录活动
6.16 小结
第7章 Android UI小部件:使用View类进行图形设计
7.1 Android View类:UI小部件的基础
7.2 View对象的基本属性:ID、布局定位和大小
7.3 View对象的定位特征:边距和填充
7.4 View对象的图形属性:背景、Alpha和可见性
7.5 View对象的功能特征:侦听器和焦点
7.6 创建书签工具UI:使用RelativeLayout和TextView
7.7 使用ImageView小部件:图形的基石
7.8 在Nexus One横向模式下测试UI设计
7.9 给ImageView图像资产添加阴影效果
7.10 更改ImageView XML以合并新资产
7.11 在RelativeLayout中合成背景图像
7.12 小结
第8章 高级ImageView图形设计
8.1 Android中的图形:ImageView类的起源
8.2 ImageView.ScaleType嵌套类:缩放控件
8.3 使用AdjustViewBounds
8.4 maxWidth和maxHeight:控制AdjustViewBounds
8.5 在ImageView中设置基线并控制对齐方式
8.6 使用CropToPadding方法裁剪ImageView
8.7 给ImageView着色和使用PorterDuff混合颜色
8.8 将色调应用于SkyCloud图像以改善阴影对比度
8.9 使用CropToPadding裁剪SkyCloud图像资产
8.10 更改ImageView的基线对齐索引
8.11 执行图像缩放:边距和填充属性
8.12 小结
第9章 高级ImageButton:创建自定义多状态ImageButton
9.1 Android中的按钮图形:ImageButton类概述
9.2 ImageButton的状态:正常、按下、焦点和悬停
9.3 ImageButton可绘制资产:合成按钮状态
9.4 可绘制的ImageButton:设置多状态XML
9.5 创建所有ImageButton状态资产:密度分辨率
9.6 将ImageButton缩放到与UI元素匹配的大小
9.7 小结
第10章 使用9-Patch技术创建可扩展的图像元件
10.1 Android NinePatchDrawable类:NinePatch的基础
10.2 关于9-Patch
10.3 Android NinePatch类:创建NinePatch资产
10.4 Draw 9-patch工具:创建NinePatchDrawable资产
10.5 使用XML标记实现NinePatch资产
10.6 小结
第11章 高级图像混合:使用Android PorterDuff类
11.1 像素混合:使图像合成更上一层楼
11.2 Android的PorterDuff类:混合的基础
11.3 PorterDuff.Mode类:Android混合常量
11.4 PorterDuffColorFilter类:混合ColorFilter
11.5 使用PorterDuff将ColorFilter效果应用于图像资产
11.6 PorterDuffXfermode类:应用混合常量
11.7 Paint类:将混合常量应用于图像
11.8 使用Bitmap类在图像之间应用PorterDuff
11.9 使用.setXfermode()方法应用PorterDuffXfermode
11.10 Canvas类:为合成创建画布
11.11 用XML和Java创建ImageView以显示画布
11.12 通过.setBitmapImage()方法将Canvas写入ImageView
11.13 小结
第12章 高级图像合成:使用LayerDrawable类
12.1 LayerDrawable对象:将图像合成提升到新的水平
12.2 Android的LayerDrawable类:图层的基础
12.3 父标签:使用XML设置层 12.4 为PorterDuff合成实例化LayerDrawable
12.5 创建一个Drawable对象以容纳LayerDrawable资产
12.6 将Drawable转换为BitmapDrawable并提取位图
12.7 修改PorterDuff管线以使用LayerDrawable
12.8 切换LayerDrawable图像资产:从源到目标
12.9 更改管线中使用的LayerDrawable图层
12.10 练习:使用两个LayerDrawable资产
12.11 关于Android中数字图像合成的一些意见和建议
12.12 小结
第13章 数字图像切换:使用TransitionDrawable类
13.1 切换:混合图像以创建运动幻觉
13.2 Android的TransitionDrawable类:切换引擎
13.3 父标签:在XML中设置切换 13.4 实例化ImageButton和TransitionDrawable对象
13.5 使用.reverseTransition()方法进行乒乓切换
13.6 通过ImageView进行高级TransitionDrawable合成
13.7 小结
第14章 基于帧的动画:使用AnimationDrawable类
14.1 AnimationDrawable类:帧动画引擎
14.2 关于DrawableContainer类
14.3 使用Java创建AnimationDrawable启动画面
14.4 使用Android Runnable类运行动画
14.5 为动画创建setUpAnimation()方法
14.6 创建一个新的AnimationDrawable对象并引用其帧
14.7 使用AnimationDrawable类的.addFrame()方法
14.8 使用.setOneShot()方法配置AnimationDrawable
14.9 使用Handler类调度AnimationDrawable
14.10 设计AnimationDrawable以循环回到第1帧
14.11 添加事件处理以允许通过单击播放帧动画
14.12 小结
第15章 程序动画:使用Animation类
15.1 关于Animation类:程序动画引擎
15.2 关于TranslateAnimation类:用于移动的Animation子类
15.3 关于ScaleAnimation类:用于缩放的Animation子类
15.4 放大徽标:使用ScaleAnimation类
15.5 AlphaAnimation类:用于混合的Animation子类
15.6 制作PAG徽标淡入效果:使用AlphaAnimation类
15.7 AnimationSet类:创建复杂的动画集
15.8 为PAG徽标动画创建AnimationSet
15.9 RotateAnimation类:用于旋转的Animation子类
15.10 旋转PAG徽标:使用RotateAnimation类
15.11 使用Android Runnable类运行AnimationSet
15.12 为AnimationSet创建一个TranslateAnimation对象
15.13 小结
第16章 高级图形:掌握Drawable类
16.1 Android Drawable资源:Drawable对象的类型
16.2 创建ShapeDrawable对象:XML 父标签 16.3 Android Drawable类详解
16.4 创建自定义Drawable:ImageRoundingDrawable
16.5 创建用于绘制Drawable画布的Paint对象
16.6 Android Shader超类:用于绘图的纹理贴图
16.7 Shader.TileMode嵌套类:Shader平铺模式
16.8 BitmapShader类:使用位图的纹理映射
16.9 为Drawable对象创建和配置BitmapShader
16.10 Android Rect和RectF类:定义绘图区域
16.11 定义RectF对象并调用.drawRoundRect()方法
16.12 Java InputStream类:读取原始数据流
16.13 小结
第17章 交互式绘图:交互式使用Paint和Canvas类
17.1 Android onDraw()方法:在屏幕上绘图
17.2 Android Canvas类:数字工匠的画布
17.3 Android Paint类:数字工匠的画笔
17.4 为SketchPad设置GraphicsDesign项目
17.5 创建自定义View类:SketchPadView类
17.6 Android Context类详解
17.7 配置SketchPadView()构造函数方法
17.8 创建坐标类以跟踪触摸X和Y点
17.9 Java List实用工具类:获取有序集合
17.10 Java ArrayList实用工具类:集合列表数组
17.11 创建一个ArrayList对象以保存触摸点数据
17.12 实现.onDraw()方法:绘制画布
17.13 创建OnTouchListener()方法:事件处理
17.14 Android MotionEvent类:Android中的移动数据
17.15 处理移动数据:使用.getX()和.getY()方法
17.16 编写SketchPad Activity的代码:使用SketchPadView
17.17 测试SketchPad Activity类:手写PAG徽标
17.18 使用位图源进行绘图:实现InkShader
17.19 小结
第18章 使用VideoView和MediaPlayer类播放视频
第19章 从外部媒体服务器流式传输数字视频
第1章 Android数字图像:格式、概念和优化
1.1 Android的数字图像格式:无损与有损
1.2 Android View和ViewGroup类:图像容器
1.3 数字图像的基础:像素和宽高比
1.4 数字图像的色彩:颜色理论和颜色深度
1.5 在Android中表示颜色:十六进制表示法
1.6 图像合成:Alpha通道和混合模式
1.7 数字图像蒙版:Alpha通道的流行用法
1.8 使蒙版边缘更平滑:抗锯齿的概念
1.9 优化数字图像:压缩和抖动
1.10 下载Android开发环境:Java和ADT
1.11 安装和更新Android Developer ADT
1.12 小结
第2章 Android数字视频:格式、概念和优化
2.1 Android数字视频格式:MPEG-4 H.264和WebM(VP8)
2.2 Android VideoView和MediaPlayer类:视频播放器
2.3 数字视频的基础:运动、帧和FPS
2.4 数字视频约定:比特率、流、标清和高清
2.5 Android的数字视频文件:分辨率密度目标
2.6 优化数字视频:编解码器和压缩
2.7 在Eclipse ADT中创建Pro Android Graphics应用程序
2.8 创建视频启动屏幕的用户界面设计
2.9 认识MainActivity.java Activity子类
2.10 创建视频资产:使用Terragen 3 3D软件
2.11 创建未压缩的视频:使用VirtualDub软件
2.12 压缩视频资产:使用Sorenson Squeeze
2.13 在Android中安装视频资产:使用raw文件夹
2.14 在Android应用程序中引用视频资产
2.15 小结
第3章 Android帧动画:XML、概念和优化
3.1 帧动画的概念:帧、帧速率和分辨率
3.2 优化帧动画:颜色深度和帧速率
3.3 使用XML标记在Android中创建帧动画
3.4 Android 标记:父帧容器 3.5 Android的标记:指定动画帧 3.6 为GraphicsDesign App创建帧动画
3.7 复制分辨率密度目标帧
3.8 使用XML创建帧动画定义
3.9 在ImageView中引用帧动画定义
3.10 使用Java实例化帧动画定义
3.11 小结
第4章 Android程序动画:XML、概念和优化
4.1 程序动画概念:补间动画和插值器
4.2 程序动画数据值:范围和中心点
4.3 程序动画变换:旋转、缩放、平移
4.4 程序动画合成:Alpha混合
4.5 程序动画计时:使用持续时间和偏移量
4.6 程序动画循环:RepeatCount和RepeatMode
4.7 标记:使用XML对程序动画进行分组 4.8 程序动画与帧动画:权衡
4.9 在GraphicsDesign应用中创建程序动画的构思
4.10 使用XML创建程序动画定义
4.11 在MainActivity.java中实例化Animation对象
4.12 使用创建更复杂的程序动画 4.13 旋转变换:复杂的动画集
4.14 调整变换值:轻松调整XML
4.15 小结
第5章 Android DIP:与设备无关的像素图形设计
5.1 Android支持设备显示的方式:UI设计和用户体验
5.2 设备显示概念:尺寸、密度、方向、DIP
5.3 与密度无关:创建相似的用户体验
5.4 通过标签支持Android多屏 5.5 提供针对设备优化的用户界面布局设计
5.5.1 使用Android的smallestWidth屏幕配置修饰符
5.5.2 使用可用屏幕宽度修饰符
5.5.3 使用可用屏幕高度修饰符
5.6 提供针对设备优化的图像可绘制资产
5.7 DisplayMetrics类:大小、密度和字体缩放
5.8 优化Android应用程序图标
5.9 在正确的密度文件夹中安装新的应用程序图标
5.10 为自定义应用程序图标配置AndroidManifest.xml
5.11 在Nexus One上测试新的应用程序图标和标签
5.12 小结
第6章 Android UI布局:使用ViewGroup类进行图形设计
6.1 Android ViewGroup超类:布局基础
6.2 ViewGroup LayoutParams类:布局参数
6.3 不推荐使用的布局:AbsoluteLayout和SlidingDrawer
6.4 Android的实验性布局:SlidingPaneLayout
6.5 Android RelativeLayout类:设计相对布局
6.6 Android LinearLayout类:设计线性布局
6.7 Android FrameLayout类:设计帧布局
6.8 Android GridLayout类:设计网格布局
6.9 DrawerLayout类:设计抽屉布局
6.10 添加菜单项以访问UI布局容器
6.11 创建目录活动
6.12 创建XML目录线性布局设计
6.13 将文本UI小部件添加到TOC UI布局容器
6.14 使用onOptionsItemSelected()方法添加菜单功能
6.15 在Nexus One上测试目录活动
6.16 小结
第7章 Android UI小部件:使用View类进行图形设计
7.1 Android View类:UI小部件的基础
7.2 View对象的基本属性:ID、布局定位和大小
7.3 View对象的定位特征:边距和填充
7.4 View对象的图形属性:背景、Alpha和可见性
7.5 View对象的功能特征:侦听器和焦点
7.6 创建书签工具UI:使用RelativeLayout和TextView
7.7 使用ImageView小部件:图形的基石
7.8 在Nexus One横向模式下测试UI设计
7.9 给ImageView图像资产添加阴影效果
7.10 更改ImageView XML以合并新资产
7.11 在RelativeLayout中合成背景图像
7.12 小结
第8章 高级ImageView图形设计
8.1 Android中的图形:ImageView类的起源
8.2 ImageView.ScaleType嵌套类:缩放控件
8.3 使用AdjustViewBounds
8.4 maxWidth和maxHeight:控制AdjustViewBounds
8.5 在ImageView中设置基线并控制对齐方式
8.6 使用CropToPadding方法裁剪ImageView
8.7 给ImageView着色和使用PorterDuff混合颜色
8.8 将色调应用于SkyCloud图像以改善阴影对比度
8.9 使用CropToPadding裁剪SkyCloud图像资产
8.10 更改ImageView的基线对齐索引
8.11 执行图像缩放:边距和填充属性
8.12 小结
第9章 高级ImageButton:创建自定义多状态ImageButton
9.1 Android中的按钮图形:ImageButton类概述
9.2 ImageButton的状态:正常、按下、焦点和悬停
9.3 ImageButton可绘制资产:合成按钮状态
9.4 可绘制的ImageButton:设置多状态XML
9.5 创建所有ImageButton状态资产:密度分辨率
9.6 将ImageButton缩放到与UI元素匹配的大小
9.7 小结
第10章 使用9-Patch技术创建可扩展的图像元件
10.1 Android NinePatchDrawable类:NinePatch的基础
10.2 关于9-Patch
10.3 Android NinePatch类:创建NinePatch资产
10.4 Draw 9-patch工具:创建NinePatchDrawable资产
10.5 使用XML标记实现NinePatch资产
10.6 小结
第11章 高级图像混合:使用Android PorterDuff类
11.1 像素混合:使图像合成更上一层楼
11.2 Android的PorterDuff类:混合的基础
11.3 PorterDuff.Mode类:Android混合常量
11.4 PorterDuffColorFilter类:混合ColorFilter
11.5 使用PorterDuff将ColorFilter效果应用于图像资产
11.6 PorterDuffXfermode类:应用混合常量
11.7 Paint类:将混合常量应用于图像
11.8 使用Bitmap类在图像之间应用PorterDuff
11.9 使用.setXfermode()方法应用PorterDuffXfermode
11.10 Canvas类:为合成创建画布
11.11 用XML和Java创建ImageView以显示画布
11.12 通过.setBitmapImage()方法将Canvas写入ImageView
11.13 小结
第12章 高级图像合成:使用LayerDrawable类
12.1 LayerDrawable对象:将图像合成提升到新的水平
12.2 Android的LayerDrawable类:图层的基础
12.3 父标签:使用XML设置层 12.4 为PorterDuff合成实例化LayerDrawable
12.5 创建一个Drawable对象以容纳LayerDrawable资产
12.6 将Drawable转换为BitmapDrawable并提取位图
12.7 修改PorterDuff管线以使用LayerDrawable
12.8 切换LayerDrawable图像资产:从源到目标
12.9 更改管线中使用的LayerDrawable图层
12.10 练习:使用两个LayerDrawable资产
12.11 关于Android中数字图像合成的一些意见和建议
12.12 小结
第13章 数字图像切换:使用TransitionDrawable类
13.1 切换:混合图像以创建运动幻觉
13.2 Android的TransitionDrawable类:切换引擎
13.3 父标签:在XML中设置切换 13.4 实例化ImageButton和TransitionDrawable对象
13.5 使用.reverseTransition()方法进行乒乓切换
13.6 通过ImageView进行高级TransitionDrawable合成
13.7 小结
第14章 基于帧的动画:使用AnimationDrawable类
14.1 AnimationDrawable类:帧动画引擎
14.2 关于DrawableContainer类
14.3 使用Java创建AnimationDrawable启动画面
14.4 使用Android Runnable类运行动画
14.5 为动画创建setUpAnimation()方法
14.6 创建一个新的AnimationDrawable对象并引用其帧
14.7 使用AnimationDrawable类的.addFrame()方法
14.8 使用.setOneShot()方法配置AnimationDrawable
14.9 使用Handler类调度AnimationDrawable
14.10 设计AnimationDrawable以循环回到第1帧
14.11 添加事件处理以允许通过单击播放帧动画
14.12 小结
第15章 程序动画:使用Animation类
15.1 关于Animation类:程序动画引擎
15.2 关于TranslateAnimation类:用于移动的Animation子类
15.3 关于ScaleAnimation类:用于缩放的Animation子类
15.4 放大徽标:使用ScaleAnimation类
15.5 AlphaAnimation类:用于混合的Animation子类
15.6 制作PAG徽标淡入效果:使用AlphaAnimation类
15.7 AnimationSet类:创建复杂的动画集
15.8 为PAG徽标动画创建AnimationSet
15.9 RotateAnimation类:用于旋转的Animation子类
15.10 旋转PAG徽标:使用RotateAnimation类
15.11 使用Android Runnable类运行AnimationSet
15.12 为AnimationSet创建一个TranslateAnimation对象
15.13 小结
第16章 高级图形:掌握Drawable类
16.1 Android Drawable资源:Drawable对象的类型
16.2 创建ShapeDrawable对象:XML 父标签 16.3 Android Drawable类详解
16.4 创建自定义Drawable:ImageRoundingDrawable
16.5 创建用于绘制Drawable画布的Paint对象
16.6 Android Shader超类:用于绘图的纹理贴图
16.7 Shader.TileMode嵌套类:Shader平铺模式
16.8 BitmapShader类:使用位图的纹理映射
16.9 为Drawable对象创建和配置BitmapShader
16.10 Android Rect和RectF类:定义绘图区域
16.11 定义RectF对象并调用.drawRoundRect()方法
16.12 Java InputStream类:读取原始数据流
16.13 小结
第17章 交互式绘图:交互式使用Paint和Canvas类
17.1 Android onDraw()方法:在屏幕上绘图
17.2 Android Canvas类:数字工匠的画布
17.3 Android Paint类:数字工匠的画笔
17.4 为SketchPad设置GraphicsDesign项目
17.5 创建自定义View类:SketchPadView类
17.6 Android Context类详解
17.7 配置SketchPadView()构造函数方法
17.8 创建坐标类以跟踪触摸X和Y点
17.9 Java List实用工具类:获取有序集合
17.10 Java ArrayList实用工具类:集合列表数组
17.11 创建一个ArrayList对象以保存触摸点数据
17.12 实现.onDraw()方法:绘制画布
17.13 创建OnTouchListener()方法:事件处理
17.14 Android MotionEvent类:Android中的移动数据
17.15 处理移动数据:使用.getX()和.getY()方法
17.16 编写SketchPad Activity的代码:使用SketchPadView
17.17 测试SketchPad Activity类:手写PAG徽标
17.18 使用位图源进行绘图:实现InkShader
17.19 小结
第18章 使用VideoView和MediaPlayer类播放视频
第19章 从外部媒体服务器流式传输数字视频
猜您喜欢