Android自定义控件开发入门与实战PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:启舰
- 出 版 社:北京:电子工业出版社
- 出版年份:2018
- ISBN:9787121345562
- 页数:491 页
开篇 2
第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
动画篇 26
第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 LinearInterp olator 49
2.3.5 BounceInterpolator 49
2.3.6 Antic ipateInterpolator 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 pIaySequentially()与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
绘图篇 204
第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 创建B itmap方法之一: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
视图篇 444
第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
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《重新定义销售》姚辉著 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《半小时漫画股票实战法》财经杂质著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017