上传者: lifenote
|
上传时间: 2019-12-21 20:08:11
|
文件大小: 11.63MB
|
文件类型: pdf
封面 1
序 2
捐助说明 5
目 录 7
第一章 View的绘图流程 12
1.1、概述 12
1.2、Activity的组成结构 13
1.3、View树的绘图流程 15
1.3.1 测量组件大小 16
1.3.2 确定子组件的位置 17
1.3.3 绘制组件 18
1.4、说点别的 22
1.5 练习作业 22
第二章 Graphics2D API 23
2.1、概述 23
2.2、Point类和PointF类 23
2.3、Rect类和RectF类 25
2.4、Bitmap类和BitmapDrawable类 32
2.5、Canvas类与Paint类 34
2.5.1 绘图概述 34
2.5.2 Paint类 34
2.5.3 Canvas类 39
2.6 练习作业 63
第三章 使用Graphics2D实现动态效果 64
3.1 概述 64
3.2 invalidate()方法 65
3.3 坐标转换 69
3.4 剪切区(Clip) 73
3.5 案例:指针走动的手表 82
3.6 练习作业 88
第四章 双缓存技术 89
4.1 双缓存 89
4.2 在屏幕上绘制曲线 90
4.3 在屏幕上绘制矩形 99
4.4 案例:绘图App 104
4.4.1 绘图属性 106
4.4.2 软件参数 108
4.4.3 绘图缓冲区 109
4.4.4 撤消操作 111
4.4.5 图形绘制 113
4.4.6 绘图区 118
4.4.7 主界面 119
4.5 练习作业 122
第五章 阴影、渐变和位图运算 123
5.1 概述 123
5.2 阴影 123
5.3 渐变 125
5.3.1 线性渐变(LinearGradient) 126
5.3.2 径向渐变(RadialGradient) 130
5.3.3 扫描渐变(SweepGradient) 135
5.3.4 位图渐变(BitmapShader) 138
5.3.5 混合渐变(ComposeShader) 140
5.3.6 渐变与Matrix 142
5.4 位图运算 143
5.4.1 PorterDuffXfermode 143
5.4.2 图层(Layer) 146
5.4.3 位图运算技巧 148
5.5 案例1:圆形头像 152
5.6 案例2:刮刮乐 156
5.7 练习作业 161
第六章 自定义组件 163
6.1 概述 163
6.2 自定义组件的基本结构 164
6.3 重写onMeasure方法 166
6.4 组件属性 175
6.4.1 属性的基本定义 175
6.4.2 读取来自style和theme中的属性 181
6.5 案例1:圆形ImageView组件 186
6.6 案例2:验证码组件CodeView 190
6.7 练习作业 202
第七章 自定义容器 204
7.1 概述 204
7.2 ViewGroup类 205
7.2.1 ViewGroup常用方法 205
7.2.2 ViewGroup的工作原理 208
7.2.3 重写onLayout()方法 213
7.3 CornerLayout布局 217
7.3.1 基本实现 217
7.3.2 内边距padding 224
7.3.3 外边距margin 228
7.3.4 自定义LayoutParams 238
7.4 案例:流式布局(FlowLayout) 246
7.5 练习作业 256
第八章 Scroller与平滑滚动 257
8.1 概述 257
8.2 认识scrollTo()和scrollBy()方法 258
8.3 Scroller类 264
8.4 平滑滚动的工作原理 271
8.5 案例:触摸滑屏 272
8.5.1 触摸滑屏的技术分析 272
8.5.2 速度跟踪器VelocityTracker 273
8.5.3 触摸滑屏的分步实现 274
8.6 练习作业 285
第九章 侧边栏 287
9.1 概述 287
9.2 使用二进制保存标识数据 289
9.2.1 位运算符 289
9.2.2 位运算的常用功能 292
9.3 继承自ViewGroup的侧边栏 293
9.4 继承自HorizontalScrollView的侧边栏 304
9.5 练习作业 312
第十章 加强版ListView 313
10.1 概述 313
10.2 ListView的基本使用 314
10.3 ListItem随手指左右滑动 318
10.4 向右滑动删除ListItem 326
10.5 滑动ListItem出现删除按钮 336
10.5.1 列表项专用容器ExtendLayout 337
10.5.2 列表项能滑出删除按钮的ListView 342
10.5.3 定义布局文件 350
10.5.4 显示ListView 351
10.6练习作业 353
案例代码说明 354