Android自定义控件高级进阶与精彩实例

Android自定义控件高级进阶与精彩实例

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书深入解析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 疑问解答

后折页

封底

Android自定义控件高级进阶与精彩实例是2021年由电子工业出版社出版,作者启舰。

得书感谢您对《Android自定义控件高级进阶与精彩实例》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
精通Android网络开发 电子书
实例丰富,按照Android 5 新版本编写。 涵盖了Android网络应用中的所有主要内容: HTTP数据通信、URL处理数据、使用Socket实现数据通信、使用WebKit浏览网页数据、WiFi系统应用、蓝牙系统应用、邮件应用、RSS应用、网络视频处理、网络流量监控、网络RSS阅读器 通过案例让读者学以致用,如开发一个邮件系统、网络防火墙系统开发、开发Web版的电话本管理系统等
Android Gradle权威指南 电子书
  30万 读者的选择   一本关于AndroidGradle的权V指南   基于新的AndroidGradle   一本由浅入深讲解AndroidGradle开发的书   对Gradle基础、Groovy基础、Gradle插件、AndroidGradle构建、基于AndroidGradle的单元测试和持续集成等做循序渐进的讲解   在讲解的过程中融入作者在项目中遇到的问题、解决问题的思路以及方法。   通过本书,读者可以入门,并且深入了解Gradle以及AndroidGradle构建,并以此为基础,深入AndroidGradle相关知识点和使用技巧,让读者在工作中事半功倍。
Android 移动应用开发 电子书
本书由浅入深、系统全面地讲解了Android软件开发的基本方法和常用技能。全书分为11章,首先概述Android系统的特点和架构,并带领读者搭建Android开发环境,完成第一个Android程序;第3到10章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、界面布局、UI控件与事件响应、组件通信、广播机制、线程与UI通信、服务、数据存储、网络开发、传感器以及地图的使用等,通
FlaskWeb开发入门、进阶与实战 电子书
本书使用Python语言开发FlaskWeb程序的知识,并通过具体实例讲解了使用Flask框架的方法和流程。
Android应用案例开发大全 电子书
技术新颖,贴近实战:本书涵盖了现实中几乎所有的流行技术,如3D、传感器、OpenGL ES 2.0、动态壁纸、LBS百度地图的二次开发、移动办公、实时流体仿真计算引擎、服务端和Android端的交互等。 实例丰富,讲解详细:本书既包括单机版客户端项目,也有服务端和Android端的结合开发;既包括典型的商业软件,也包括休闲娱乐项目,还有流行的3D热门案例以及借助OpenGL ES 2.0渲染的逼真场景。 案例经典,含金量高:以真实的项目开发为讲解背景,包括大型商务软件、3D游戏等,无论做项目还是进行毕业设计,都可以在本书找到相同的案例,非常适合各类读者学习。