定 价:¥129.00
作 者: | 启舰 著 |
出版社: | 电子工业出版社 |
丛编项: | |
标 签: | 暂缺 |
ISBN: | 9787121402081 | 出版时间: | 2020-12-01 | 包装: | 平装 |
开本: | 16开 | 页数: | 588 | 字数: |
第1章 3D特效 1
1.1 3D特效概述 1
1.1.1 2D坐标系与3D坐标系 3
1.1.2 Android中的Camera类 5
1.1.3 构造Camera类使用实例 8
1.2 Camera类用法详解 12
1.2.1 平移 12
1.2.2 旋转 16
1.2.3 改变Camera的位置 20
1.3 实现3D卡片翻转效果 23
1.3.1 框架搭建 23
1.3.2 效果改进 29
1.3.3 正背面显示不同的内容 34
1.4 实现小米时钟的触摸倾斜效果 37
1.4.1 框架搭建 38
1.4.2 实现ClockViewGroup 39
1.4.3 ClockViewGroup应用 45
第2章 位置矩阵 46
2.1 位置矩阵概述 46
2.1.1 矩阵运算 46
2.1.2 位置矩阵简介 48
2.2 Matrix类中函数用法详解(一) 51
2.2.1 基本函数 51
2.2.2 前乘与后乘 55
2.2.3 其他功能函数之缩放(Scale) 59
2.2.4 其他功能函数之错切(Skew) 67
2.2.5 其他功能函数之setSinCos 72
2.3 Matrix类中函数用法详解(二) 75
2.3.1 mapPoints 75
2.3.2 其他map相关函数 77
2.3.3 setPolyToPoly 79
2.3.4 setRectToRect 82
2.3.5 其他函数 85
2.3.6 Matrix与Canvas 87
2.4 折叠布局实战(一)――核心原理 88
2.4.1 折叠原理概述 89
2.4.2 实现完整折叠效果 101
2.4.3 添加阴影效果 105
2.5 折叠布局实战(二)――折叠菜单 108
2.5.1 使用ViewGroup实现折叠效果 109
2.5.2 实现折叠菜单 114
第3章 派生类型的选择与实例 121
3.1 派生类型的选择方法概述 121
3.1.1 View类及ViewGroup类的选择 121
3.1.2 继承自View类的处理流程 123
3.1.3 继承自View子类的处理流程 132
3.1.4 继承自ViewGroup类的处理流程 135
3.1.5 继承自ViewGroup子控件类 140
3.2 自定义EditText 144
3.2.1 显示删除图标 144
3.2.2 点击删除图标并清空文字 147
3.3 实现圆角布局 148
3.3.1 实现布局类 148
3.3.2 使用布局类 149
3.3.3 修复背景问题 150
第4章 消息处理 154
4.1 Android事件分发机制 154
4.1.1 概述 154
4.1.2 不包含onInterceptTouchEvent函数的ACTION_DOWN消息传递流程 156
4.1.3 onInterceptTouchEvent函数的ACTION_DOWN消息传递流程 161
4.1.4 关于ACTION_MOVE和ACTION_UP消息传递流程 164
4.1.5 在ACTION_MOVE消息到来时拦截 168
4.2 消息拦截实战――实现可拖动的方向按键 173
4.2.1 框架搭建 174
4.2.2 实现拖动效果 178
4.3 坐标系 181
4.3.1 屏幕坐标系和数学坐标系的区别 182
4.3.2 View坐标系 182
4.3.3 MotionEvent提供的函数 186
4.4 详解requestDisallowInterceptTouchEvent函数 187
4.4.1 requestDisallowInterceptTouchEvent函数概述 187
4.4.2 尝试使用requestDisallowInterceptTouchEvent函数 187
4.5 滑动冲突处理原理与实战 192
4.5.1 常见的滑动冲突场景 193
4.5.2 解决滑动冲突问题的思路 193
4.5.3 滑动冲突解决方法 194
4.5.4 滑动冲突实战 196
第5章 多点触控详解 203
5.1 多点触控基本知识 203
5.1.1 概述 203
5.1.2 单点触控与多点触控 203
5.1.3 多点触控 206
5.1.4 实例:追踪第2根手指 207
5.1.5 多点触控与ACTION_MOVE消息 211
5.1.6 其他获取函数 213
5.2 拖动图片控件与多点触控 216
5.2.1 单点触控下的拖动图片控件 216
5.2.2 多点触控下的拖动图片控件 220
5.3 制作双指缩放控件 222
5.3.1 原理概述 222
5.3.2 实现可缩放的文本控件 223
第6章 工具类 228
6.1 Scroller工具类 228
6.1.1 探讨scrollTo与scrollBy函数 228
6.1.2 Scroller概述 234
6.1.3 改造demo 236
6.1.4 实战:Android滑块开关 240
6.2 ViewDragHelper类简介 251
6.2.1 概述 251
6.2.2 简单用法 252
6.2.3 疑问解答 260
6.2.4 边界判断 265
6.2.5 onViewReleased函数 270
6.3 实现QQ侧边栏效果 275
6.3.1 基本功能实现 276
6.3.2 添加手指释放时的动画 280
6.3.3 展开侧边栏的实现原理 281
6.3.4 实现展开侧边栏 283
6.3.5 添加侧边栏的展开/关闭动画 287
6.4 ViewDragHelper类源码解析 289
6.4.1 创建ViewDragHelper实例 289
6.4.2 消息不被子控件消费的Touch事件的处理方法 291
6.4.3 消息被子控件消费的Touch事件的处理方法 314
6.4.4 遗留问题解析 320
6.5 ViewConfiguration类 323
6.5.1 距离相关函数 324
6.5.2 速度相关函数 325
6.5.3 时间相关函数 325
6.5.4 其他函数 326
第7章 RecyclerView 327
7.1 RecyclerView概述 328
7.1.1 导入support-v7包 328
7.1.2 RecyclerView的简单使用 329
7.1.3 其他LayoutManager 334
7.1.4 加载不同类型的View 340
7.2 添加分割线 345
7.2.1 引入ItemDecoration 345
7.2.2 自定义ItemDecoration 347
7.3 自定义LayoutManager 359
7.3.1 初始化展示界面 360
7.3.2 添加滑动效果 362
7.4 RecyclerView回收复用HolderView的实现方式(一) 367
7.4.1 RecyclerView是否会自动回收复用HolderView 368
7.4.2 RecyclerView回收复用HolderView的原理 370
7.4.3 给CustomLayoutManager添加回收复用HolderView功能 374
7.5 RecyclerView回收复用HolderView的实现方式(二) 386
7.5.1 初步实现 386
7.5.2 继续优化:回收时的布局 392
7.6 ItemTouchHelper 396
7.6.1 ItemTouchHelper的基本功能实现 397
7.6.2 真正实现滑动删除与拖曳移动 401
7.6.3 其他功能:交互时的背景变化 402
7.6.4 GridView中的滑动/拖动效果 405
7.6.5 getMovementFlags中的各种flag 407
7.6.6 禁用拖曳与指定拖曳 409
7.6.7 onChildDraw函数 417
7.6.8 其他函数 419
7.6.9 布局方向 421
第8章 RecyclerView特效实战 423
8.1 滑动画廊控件 423
8.1.1 实现item布局 424
8.1.2 实现横向布局 427
8.1.3 实现横向滑动 430
8.1.4 实现卡片叠加 433
8.1.5 修改卡片起始位置 434
8.1.6 更改默认显示顺序 435
8.1.7 添加滑动缩放功能 441
8.1.8 bug修复 444
8.1.9 拓展1:fling校正 446
8.1.10 拓展2:制作3D画廊 452
8.2 仿QQ列表滑动删除效果 454
8.2.1 有问题的ItemTouchHelper之实现demo 455
8.2.2 有问题的ItemTouchHelper之显示出底部操作栏 459
8.2.3 改造ItemTouchHelper 466
8.2.4 使用ItemTouchHelperExtension实现 467
8.3 使用SnapHelper实现滑动对齐 470
8.3.1 SnapHelper概述 471
8.3.2 LinearSnapHelper的使用 472
8.3.3 PagerSnapHelper的使用 475
第9章 精彩自定义控件实战 476
9.1 华为时钟 476
9.1.1 实现原理 477
9.1.2 实现遮罩叠加 477
9.1.3 实现遮罩旋转 481
9.1.4 显示时间 483
9.1.5 封装组件 486
9.2 圆环动画 488
9.2.1 圆环扇形原理 489
9.2.2 初步实现控件圆环效果 492
9.2.3 制作多彩圆环 497
9.2.4 实现渐显动画 499
9.3 自定义控件与组合控件实战 503
9.3.1 初步实现VolumeView 505
9.3.2 实现音量动效 511
9.3.3 组合控件 514
第10章 Lottie动画框架 519
10.1 Lottie概述 519
10.1.1 Lottie是什么 519
10.1.2 Lottie demo之基本功能 521
10.1.3 Lottie demo之在线加载Lottie 523
10.1.4 Lottie demo之其他功能 528
10.1.5 Lottie社区 529
10.1.6 Lottie动画优势 531
10.2 Lottie与AE 531
10.2.1 环境安装 531
10.2.2 Lottie完整使用流程 532
10.2.3 Lottie JSON与AE 536
10.2.4 图片图层的使用 542
10.2.5 文本图层的使用 544
10.2.6 Lottie支持的AE功能列表 546
10.3 Lottie的使用方法 547
10.3.1 初步使用Lottie 547
10.3.2 Lottie在代码中的使用 552
10.4 Lottie核心原理 567
10.4.1 概述 567
10.4.2 初始化 567
10.4.3 测量与布局 570
10.4.4 绘图 571
10.4.5 如何动起来 573
10.4.6 疑问解答 573