计算机
类型
可以朗读
语音朗读
269千字
字数
2021-01-01
发行日期
展开全部
主编推荐语
本书深入解析Android自定义控件高级知识,涵盖3D特效、矩阵、动画框架等实战案例,适合中高级从业者。
内容简介
本书专注于介绍Android自定义控件高级进阶知识,并通过精彩的案例对各种绘制、动画技术进行了糅合讲解,通过本书可以从宏观层面、源码层面对Android自定义控件建立完整的认识。本书主要内容有3D特效的实现、高级矩阵知识、消息处理机制、派生类型的选择方法、多点触控及辅助类、RecyclerView的使用方法及3D卡片的实现、动画框架Lottie讲解与实战等。本书适合中高级从业者对Android自定义控件相关知识进行查漏补缺和深入学习。如果你是Android自定义控件的初学者,建议从作者的上一本书《Android自定义控件开发入门与实战》开始,读完后再来看这本书,这样你将对Android自定义控件有更深刻的理解。
目录
- 封面
- 作者简介
- 版权信息
- 内容简介
- 前言
- 第1章 3D特效
- 1.1 3D特效概述
- 1.1.1 2D坐标系与3D坐标系
- 1.1.2 Android中的Camera类
- 1.1.3 构造Camera类使用实例
- 1.2 Camera类用法详解
- 1.2.1 平移
- 1.2.2 旋转
- 1.2.3 改变Camera的位置
- 1.3 实现3D卡片翻转效果
- 1.3.1 框架搭建
- 1.3.2 效果改进
- 1.3.3 正背面显示不同的内容
- 1.4 实现小米时钟的触摸倾斜效果
- 1.4.1 框架搭建
- 1.4.2 实现ClockViewGroup
- 1.4.3 ClockViewGroup应用
- 第2章 位置矩阵
- 2.1 位置矩阵概述
- 2.1.1 矩阵运算
- 2.1.2 位置矩阵简介
- 2.2 Matrix类中函数用法详解(一)
- 2.2.1 基本函数
- 2.2.2 前乘与后乘
- 2.2.3 其他功能函数之缩放(Scale)
- 2.2.4 其他功能函数之错切(Skew)
- 2.2.5 其他功能函数之setSinCos
- 2.3 Matrix类中函数用法详解(二)
- 2.3.1 mapPoints
- 2.3.2 其他map相关函数
- 2.3.3 setPolyToPoly
- 2.3.4 setRectToRect
- 2.3.5 其他函数
- 2.3.6 Matrix与Canvas
- 2.4 折叠布局实战(一)——核心原理
- 2.4.1 折叠原理概述
- 2.4.2 实现完整折叠效果
- 2.4.3 添加阴影效果
- 2.5 折叠布局实战(二)——折叠菜单
- 2.5.1 使用ViewGroup实现折叠效果
- 2.5.2 实现折叠菜单
- 第3章 派生类型的选择与实例
- 3.1 派生类型的选择方法概述
- 3.1.1 View类及ViewGroup类的选择
- 3.1.2 继承自View类的处理流程
- 3.1.3 继承自View子类的处理流程
- 3.1.4 继承自ViewGroup类的处理流程
- 3.1.5 继承自ViewGroup子控件类
- 3.2 自定义EditText
- 3.2.1 显示删除图标
- 3.2.2 点击删除图标并清空文字
- 3.3 实现圆角布局
- 3.3.1 实现布局类
- 3.3.2 使用布局类
- 3.3.3 修复背景问题
- 第4章 消息处理
- 4.1 Android事件分发机制
- 4.1.1 概述
- 4.1.2 不包含onInterceptTouchEvent函数的ACTION_DOWN消息传递流程
- 4.1.3 onInterceptTouchEvent函数的ACTION_DOWN消息传递流程
- 4.1.4 关于ACTION_MOVE和ACTION_UP消息传递流程
- 4.1.5 在ACTION_MOVE消息到来时拦截
- 4.2 消息拦截实战——实现可拖动的方向按键
- 4.2.1 框架搭建
- 4.2.2 实现拖动效果
- 4.3 坐标系
- 4.3.1 屏幕坐标系和数学坐标系的区别
- 4.3.2 View坐标系
- 4.3.3 MotionEvent提供的函数
- 4.4 详解requestDisallowInterceptTouchEvent函数
- 4.4.1 requestDisallowInterceptTouchEvent函数概述
- 4.4.2 尝试使用requestDisallowInterceptTouchEvent函数
- 4.5 滑动冲突处理原理与实战
- 4.5.1 常见的滑动冲突场景
- 4.5.2 解决滑动冲突问题的思路
- 4.5.3 滑动冲突解决方法
- 4.5.4 滑动冲突实战
- 第5章 多点触控详解
- 5.1 多点触控基本知识
- 5.1.1 概述
- 5.1.2 单点触控与多点触控
- 5.1.3 多点触控
- 5.1.4 实例:追踪第2根手指
- 5.1.5 多点触控与ACTION_MOVE消息
- 5.1.6 其他获取函数
- 5.2 拖动图片控件与多点触控
- 5.2.1 单点触控下的拖动图片控件
- 5.2.2 多点触控下的拖动图片控件
- 5.3 制作双指缩放控件
- 5.3.1 原理概述
- 5.3.2 实现可缩放的文本控件
- 第6章 工具类
- 6.1 Scroller工具类
- 6.1.1 探讨scrollTo与scrollBy函数
- 6.1.2 Scroller概述
- 6.1.3 改造demo
- 6.1.4 实战:Android滑块开关
- 6.2 ViewDragHelper类简介
- 6.2.1 概述
- 6.2.2 简单用法
- 6.2.3 疑问解答
- 6.2.4 边界判断
- 6.2.5 onViewReleased函数
- 6.3 实现QQ侧边栏效果
- 6.3.1 基本功能实现
- 6.3.2 添加手指释放时的动画
- 6.3.3 展开侧边栏的实现原理
- 6.3.4 实现展开侧边栏
- 6.3.5 添加侧边栏的展开/关闭动画
- 6.4 ViewDragHelper类源码解析
- 6.4.1 创建ViewDragHelper实例
- 6.4.2 消息不被子控件消费的Touch事件的处理方法
- 6.4.3 消息被子控件消费的Touch事件的处理方法
- 6.4.4 遗留问题解析
- 6.5 ViewConfiguration类
- 6.5.1 距离相关函数
- 6.5.2 速度相关函数
- 6.5.3 时间相关函数
- 6.5.4 其他函数
- 第7章 RecyclerView
- 7.1 RecyclerView概述
- 7.1.1 导入support-v7包
- 7.1.2 RecyclerView的简单使用
- 7.1.3 其他LayoutManager
- 7.1.4 加载不同类型的View
- 7.2 添加分割线
- 7.2.1 引入ItemDecoration
- 7.2.2 自定义ItemDecoration
- 7.3 自定义LayoutManager
- 7.3.1 初始化展示界面
- 7.3.2 添加滑动效果
- 7.4 RecyclerView回收复用HolderView的实现方式(一)
- 7.4.1 RecyclerView是否会自动回收复用HolderView
- 7.4.2 RecyclerView回收复用HolderView的原理
- 7.4.3 给CustomLayoutManager添加回收复用HolderView功能
- 7.5 RecyclerView回收复用HolderView的实现方式(二)
- 7.5.1 初步实现
- 7.5.2 继续优化:回收时的布局
- 7.6 ItemTouchHelper
- 7.6.1 ItemTouchHelper的基本功能实现
- 7.6.2 真正实现滑动删除与拖曳移动
- 7.6.3 其他功能:交互时的背景变化
- 7.6.4 GridView中的滑动/拖动效果
- 7.6.5 getMovementFlags中的各种flag
- 7.6.6 禁用拖曳与指定拖曳
- 7.6.7 onChildDraw函数
- 7.6.8 其他函数
- 7.6.9 布局方向
- 第8章 RecyclerView特效实战
- 8.1 滑动画廊控件
- 8.1.1 实现item布局
- 8.1.2 实现横向布局
- 8.1.3 实现横向滑动
- 8.1.4 实现卡片叠加
- 8.1.5 修改卡片起始位置
- 8.1.6 更改默认显示顺序
- 8.1.7 添加滑动缩放功能
- 8.1.8 bug修复
- 8.1.9 拓展1:fling校正
- 8.1.10 拓展2:制作3D画廊
- 8.2 仿QQ列表滑动删除效果
- 8.2.1 有问题的ItemTouchHelper之实现demo
- 8.2.2 有问题的ItemTouchHelper之显示出底部操作栏
- 8.2.3 改造ItemTouchHelper
- 8.2.4 使用ItemTouchHelperExtension实现
- 8.3 使用SnapHelper实现滑动对齐
- 8.3.1 SnapHelper概述
- 8.3.2 LinearSnapHelper的使用
- 8.3.3 PagerSnapHelper的使用
- 第9章 精彩自定义控件实战
- 9.1 华为时钟
- 9.1.1 实现原理
- 9.1.2 实现遮罩叠加
- 9.1.3 实现遮罩旋转
- 9.1.4 显示时间
- 9.1.5 封装组件
- 9.2 圆环动画
- 9.2.1 圆环扇形原理
- 9.2.2 初步实现控件圆环效果
- 9.2.3 制作多彩圆环
- 9.2.4 实现渐显动画
- 9.3 自定义控件与组合控件实战
- 9.3.1 初步实现VolumeView
- 9.3.2 实现音量动效
- 9.3.3 组合控件
- 第10章 Lottie动画框架
- 10.1 Lottie概述
- 10.1.1 Lottie是什么
- 10.1.2 Lottie demo之基本功能
- 10.1.3 Lottie demo之在线加载Lottie
- 10.1.4 Lottie demo之其他功能
- 10.1.5 Lottie社区
- 10.1.6 Lottie动画优势
- 10.2 Lottie与AE
- 10.2.1 环境安装
- 10.2.2 Lottie完整使用流程
- 10.2.3 Lottie JSON与AE
- 10.2.4 图片图层的使用
- 10.2.5 文本图层的使用
- 10.2.6 Lottie支持的AE功能列表
- 10.3 Lottie的使用方法
- 10.3.1 初步使用Lottie
- 10.3.2 Lottie在代码中的使用
- 10.4 Lottie核心原理
- 10.4.1 概述
- 10.4.2 初始化
- 10.4.3 测量与布局
- 10.4.4 绘图
- 10.4.5 如何动起来
- 10.4.6 疑问解答
- 后折页
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。