Android自定义控件开发(pdf+txt+epub+azw3+mobi电子书在线阅读下载)

Android自定义控件开发(pdf+txt+epub+azw3+mobi电子书在线阅读下载)

Android自定义控件开发入门与实战

作者:启舰

格式: pdf、txt、epub、azw3、mobi、docx

编辑推荐

1 本书从动画、绘图、视图三方面介绍Android自定义控件相关知识,内容系统全面,并配以翔实的案例。
2 Android自定义控件涉及动画和色彩,本书将图片地址制作成二维码,可供读者扫描观看。
3 本书适合初高级水平从业者系统学习,也适合高级水平从业者查漏补缺。

 

内容简介

在Android中,官方提供的控件是非常有限的,而我们所面临的需求却是多样的。大家在工作中难免会接触到自定义控件的需求,但系统讲解自定义控件知识的书籍却少之又少。不仅因为自定义控件涉及的知识丰富、繁杂,而且与动画和色彩相关的知识很难在纸张上表现出来。本书从自定义控件的动画、绘图、视图三方面入手,分别讲解与自定义控件相关的各种知识,给大家系统地梳理相关知识点,并且通过翔实的案例讲解每个知识点在现实工作中所能实现的功能。

作者简介

启舰,本名张恩伟,中国海洋大学硕士研究生毕业,CSDN博客专家,CSDN博客之星,所写系列博文《Android自定义控件三部曲》深受技术人员喜爱。毕业后曾就职于阿里巴巴,从事Android开发工作,对C 、Java、Android语言都略有研究。

目  录

开 篇
第1章 绘图基础 2
1.1 基本图形绘制 2
1.1.1 概述 2
1.1.2 画笔的基本设置 4
1.1.3 Canvas使用基础 6
1.1.4 Color 10
1.2 路径 11
1.2.1 概述 11
1.2.2 直线路径 12
1.2.3 弧线路径 12
1.3 Region 14
1.3.1 构造Region 14
1.3.2 区域相交 16
1.4 Canvas(画布) 19
1.4.1 Canvas变换 19
1.4.2 画布的保存与恢复 23
动 画 篇
第2章 视图动画 26
2.1 视图动画标签 26
2.1.1 概述 26
2.1.2 scale标签 28
2.1.3 alpha标签 34
2.1.4 rotate标签 35
2.1.5 translate标签 36
2.1.6 set标签 37
2.2 视图动画的代码实现 38
2.2.1 概述 38
2.2.2 ScaleAnimation 38
2.2.3 AlphaAnimation 40
2.2.4 RotateAnimation 40
2.2.5 TranslateAnimation 41
2.2.6 AnimationSet 42
2.2.7 Animation 43
2.3 插值器初探 44
2.3.1 AccelerateDecelerateInterpolator 45
2.3.2 AccelerateInterpolator 47
2.3.3 DecelerateInterpolator 48
2.3.4 LinearInterpolator 49
2.3.5 BounceInterpolator 49
2.3.6 AnticipateInterpolator 50
2.3.7 OvershootInterpolator 51
2.3.8 AnticipateOvershootInterpolator 53
2.3.9 CycleInterpolator 54
2.4 动画示例 55
2.4.1 镜头由远及近效果 55
2.4.2 加载框效果 56
2.4.3 扫描动画 57
2.5 逐帧动画 60
2.5.1 XML实现 61
2.5.2 代码实现 66
第3章 属性动画 68
3.1 ValueAnimator的基本使用 68
3.1.1 概述 68
3.1.2 ValueAnimator的简单使用 71
3.1.3 常用函数 74
3.1.4 示例:弹跳加载中效果 83
3.2 自定义插值器与Evaluator 86
3.2.1 自定义插值器 87
3.2.2 Evaluator 90
3.3 ValueAnimator进阶——ofObject 96
3.3.1 概述 96
3.3.2 示例:抛物动画 98
3.4 ObjectAnimator 101
3.4.1 概述 101
3.4.2 ObjectAnimator动画原理 106
3.4.3 自定义ObjectAnimator属性 107
3.4.4 何时需要实现对应属性的get函数 110
3.4.5 常用函数 112
3.5 组合动画——AnimatorSet 113
3.5.1 playSequentially()与playTogether()函数 113
3.5.2 AnimatorSet.Builder 118
3.5.3 AnimatorSet监听器 119
3.5.4 常用函数 122
3.5.5 示例:路径动画 126
3.6 Animator动画的XML实现 132
3.6.1 animator标签 132
3.6.2 objectAnimator标签 134
第4章 属性动画进阶 136
4.1 PropertyValuesHolder与Keyframe 136
4.1.1 PropertyValuesHolder 137
4.1.2 Keyframe 140
4.1.3 PropertyValuesHolder之其他函数 148
4.1.4 示例:电话响铃效果 148
4.2 ViewPropertyAnimator 150
4.2.1 概述 150
4.2.2 常用函数 150
4.2.3 性能考量 153
4.3 为ViewGroup内的组件添加动画 153
4.3.1 animateLayoutChanges属性 154
4.3.2 LayoutTransition 157
4.3.3 其他函数 161
4.4 开源动画库NineOldAndroids 163
4.4.1 NineOldAndroids中的ViewPropertyAnimator 164
4.4.2 NineOldAndroids中的ViewHelper 164
第5章 动画进阶 168
5.1 利用PathMeasure实现路径动画 168
5.1.1 初始化 168
5.1.2 简单函数使用 169
5.1.3 getSegment()函数 171
5.1.4 getPosTan()函数 177
5.1.5 getMatrix()函数 181
5.1.6 示例:支付宝支付成功动画 182
5.2 SVG动画 184
5.2.1 概述 184
5.2.2 vector标签与图像显示 186
5.2.3 动态Vector 197
5.2.4 示例:输入搜索动画 198
绘 图 篇
第6章 Paint基本使用 204
6.1 硬件加速 204
6.1.1 概述 204
6.1.2 软件绘制与硬件加速的区别 204
6.1.3 禁用GPU硬件加速的方法 206
6.2 文字 207
6.2.1 概述 207
6.2.2 绘图四线格与FontMetrics 210
6.2.3 常用函数 214
6.2.4 示例:定点写字 216
6.3 Paint常用函数 218
6.3.1 基本设置函数 218
6.3.2 字体相关函数 221
第7章 绘图进阶 223
7.1 贝济埃曲线 223
7.1.1 概述 223
7.1.2 贝济埃曲线之quadTo 227
7.1.3 贝济埃曲线之rQuadTo 234
7.1.4 示例:波浪效果 235
7.2 setShadowLayer与阴影效果 238
7.2.1 setShadowLayer()构造函数 238
7.2.2 清除阴影 240
7.2.3 示例:给文字添加阴影 242
7.3 BlurMaskFilter发光效果与图片阴影 243
7.3.1 概述 243
7.3.2 给图片添加纯色阴影 245
7.4 Shader与BitmapShader 248
7.4.1 Shader概述 248
7.4.2 BitmapShader的基本用法 249
7.4.3 示例一:望远镜效果 254
7.4.4 示例二:生成不规则头像 256
7.5 Shader之LinearGradient 257
7.5.1 概述 257
7.5.2 示例:闪光文字效果 261
7.6 Shader之RadialGradient 264
7.6.1 双色渐变 264
7.6.2 多色渐变 266
7.6.3 TileMode填充模式 267
第8章 混合模式 269
8.1 混合模式之AvoidXfermode 269
8.1.1 混合模式概述 269
8.1.2 AvoidXfermode 270
8.1.3 AvoidXfermode绘制原理 274
8.1.4 AvoidXfermode之Mode.AVOID 275
8.2 混合模式之PorterDuffXfermode 276
8.2.1 PorterDuffXfermode概述 276
8.2.2 颜色叠加相关模式 279
8.3 PorterDuffXfermode之源图像模式 285
8.3.1 Mode.SRC 285
8.3.2 Mode.SRC_IN 285
8.3.3 Mode.SRC_OUT 288
8.3.4 Mode.SRC_OVER 293
8.3.5 Mode.SRC_ATOP 293
8.4 目标图像模式与其他模式 294
8.4.1 目标图像模式 294
8.4.2 其他模式——Mode.CLEAR 303
8.4.3 模式总结 303
第9章 Canvas与图层 305
9.1 获取Canvas对象的方法 305
9.1.1 方法一:重写onDraw()、dispatchDraw()函数 305
9.1.2 方法二:使用Bitmap创建 306
9.1.3 方法三:调用SurfaceHolder.lockCanvas()函数 307
9.2 图层与画布 307
9.2.1 saveLayer()函数 307
9.2.2 画布与图层 312
9.2.3 saveLayer()和saveLayerAlpha()函数的用法 312
9.3 Flag的具体含义 316
9.3.1 Flag之MATRIX_SAVE_FLAG 316
9.3.2 Flag之CLIP_SAVE_FLAG 318
9.3.3 Flag之FULL_COLOR_LAYER_SAVE_FLAG和HAS_ALPHA_
LAYER_SAVE_FLAG 320
9.3.4 Flag之CLIP_TO_LAYER_SAVE_FLAG 323
9.3.5 Flag之ALL_SAVE_FLAG 325
9.4 恢复画布 325
9.4.1 restoreToCount(int count) 325
9.4.2 restore()与restoreToCount(int count)的关系 328
第10章 Android画布 330
10.1 ShapeDrawable 331
10.1.1 shape标签与GradientDrawable 331
10.1.2 ShapeDrawable的构造函数 333
10.1.3 常用函数 345
10.1.4 自定义Drawable 351
10.1.5 Drawable与Bitmap对比 357
10.2 Bitmap 359
10.2.1 概述 360
10.2.2 创建Bitmap方法之一:BitmapFactory 362
10.2.3 BitmapFactory.Options 369
10.2.4 创建Bitmap方法之二:Bitmap静态方法 377
10.2.5 常用函数 384
10.2.6 常见问题 401
10.3 SurfaceView 408
10.3.1 概述 408
10.3.2 SurfaceView的基本用法 409
10.3.3 SurfaceView双缓冲技术 421
第11章 Matrix与坐标变换 442
视 图 篇
第12章 封装控件 444
12.1 自定义属性与自定义Style 444
12.1.1 概述 444
12.1.2 declare-styleable标签的使用方法 444
12.1.3 在XML中使用自定义的属性 446
12.1.4 在代码中获取自定义属性的值 447
12.1.5 declare-styleable标签其他属性的用法 448
12.2 测量与布局 452
12.2.1 ViewGroup绘制流程 452
12.2.2 onMeasure()函数与MeasureSpec 452
12.2.3 onLayout()函数 455
12.2.4 获取子控件margin值的方法 460
12.3 实现FlowLayout容器 466
12.3.1 XML布局 466
12.3.2 提取margin值与重写onMeasure()函数 468
第13章 控件高级属性 475
13.1 GestureDetector手势检测 475
13.1.1 概述 475
13.1.2 GestureDetector.OnGestureListener接口 475
13.1.3 GestureDetector.OnDoubleTapListener接口 479
13.1.4 GestureDetector.SimpleOnGestureListener类 483
13.1.5 onFling()函数的应用——识别是向左滑还是向右滑 485
13.2 Window与WindowManager 486
13.2.1 Window与WindowManager的关系 486
13.2.2 示例:腾讯手机管家悬浮窗的小火箭效果 487

商品评价

为了方便大家利用电子书更好的学习,精心整理了网络上的各种电子书,有PDF版本的,也有TXT版本的,现有一万多本PDF的,七万多本TXT的,还有精心整理的天涯神贴,而且还在不断增加中,有需要的可以点击下面的衔接或者扫码下载:

链接: https://pan.baidu.com/s/1z45OMvYM0Jy-BVuJJmRvtw?pwd=w3m9 提取码: w3m9 复制这段内容后打开百度网盘手机App,操作更方便哦

0

评论0

请先

没有账号? 注册  忘记密码?