Android自定义控件开发入门与实战
معرفی کتاب «Android自定义控件开发入门与实战» نوشتهٔ 启舰، منتشرشده توسط نشر 电子工业出版社 در سال 2018. این کتاب در فرمت pdf، زبان zh ارائه شده است. «Android自定义控件开发入门与实战» در دستهٔ بدون دستهبندی قرار دارد.
扉页 版权页 前言 目录 开篇 第1章 绘图基础 1.1 基本图形绘制 1.1.1 概述 1.1.2 画笔的基本设置 1.1.3 Canvas使用基础 1.1.4 Color 1.2 路径 1.2.1 概述 1.2.2 直线路径 1.2.3 弧线路径 1.3 Region 1.3.1 构造Region 1.3.2 区域相交 1.4 Canvas(画布) 1.4.1 Canvas变换 1.4.2 画布的保存与恢复 动画篇 第2章 视图动画 2.1 视图动画标签 2.1.1 概述 2.1.2 scale标签 2.1.3 alpha标签 2.1.4 rotate标签 2.1.5 translate标签 2.1.6 set标签 2.2 视图动画的代码实现 2.2.1 概述 2.2.2 ScaleAnimation 2.2.3 AlphaAnimation 2.2.4 RotateAnimation 2.2.5 TranslateAnimation 2.2.6 AnimationSet 2.2.7 Animation 2.3 插值器初探 2.3.1 AccelerateDecelerateInterpolator 2.3.2 AccelerateInterpolator 2.3.3 DecelerateInterpolator 2.3.4 LinearInterpolator 2.3.5 BounceInterpolator 2.3.6 AnticipateInterpolator 2.3.7 OvershootInterpolator 2.3.8 AnticipateOvershootInterpolator 2.3.9 CycleInterpolator 2.4 动画示例 2.4.1 镜头由远及近效果 2.4.2 加载框效果 2.4.3 扫描动画 2.5 逐帧动画 2.5.1 XML实现 2.5.2 代码实现 第3章 属性动画 3.1 ValueAnimator的基本使用 3.1.1 概述 3.1.2 ValueAnimator的简单使用 3.1.3 常用函数 3.1.4 示例:弹跳加载中效果 3.2 自定义插值器与Evaluator 3.2.1 自定义插值器 3.2.2 Evaluator 3.3 ValueAnimator进阶——ofObject 3.3.1 概述 3.3.2 示例:抛物动画 3.4 ObjectAnimator 3.4.1 概述 3.4.2 ObjectAnimator动画原理 3.4.3 自定义ObjectAnimator属性 3.4.4 何时需要实现对应属性的get函数 3.4.5 常用函数 3.5 组合动画——AnimatorSet 3.5.1 playSequentially()与playTogether()函数 3.5.2 AnimatorSet.Builder 3.5.3 AnimatorSet监听器 3.5.4 常用函数 3.5.5 示例:路径动画 3.6 Animator动画的XML实现 3.6.1 animator标签 3.6.2 objectAnimator标签 第4章 属性动画进阶 4.1 PropertyValuesHolder与Keyframe 4.1.1 PropertyValuesHolder 4.1.2 Keyframe 4.1.3 PropertyValuesHolder之其他函数 4.1.4 示例:电话响铃效果 4.2 ViewPropertyAnimator 4.2.1 概述 4.2.2 常用函数 4.2.3 性能考量 4.3 为ViewGroup内的组件添加动画 4.3.1 animateLayoutChanges属性 4.3.2 LayoutTransition 4.3.3 其他函数 4.4 开源动画库NineOldAndroids 4.4.1 NineOldAndroids中的ViewPropertyAnimator 4.4.2 NineOldAndroids中的ViewHelper 第5章 动画进阶 5.1 利用PathMeasure实现路径动画 5.1.1 初始化 5.1.2 简单函数使用 5.1.3 getSegment()函数 5.1.4 getPosTan()函数 5.1.5 getMatrix()函数 5.1.6 示例:支付宝支付成功动画 5.2 SVG动画 5.2.1 概述 5.2.2 vector标签与图像显示 5.2.3 动态Vector 5.2.4 示例:输入搜索动画 绘图篇 第6章 Paint基本使用 6.1 硬件加速 6.1.1 概述 6.1.2 软件绘制与硬件加速的区别 6.1.3 禁用GPU硬件加速的方法 6.2 文字 6.2.1 概述 6.2.2 绘图四线格与FontMetrics 6.2.3 常用函数 6.2.4 示例:定点写字 6.3 Paint常用函数 6.3.1 基本设置函数 6.3.2 字体相关函数 第7章 绘图进阶 7.1 贝济埃曲线 7.1.1 概述 7.1.2 贝济埃曲线之quadTo 7.1.3 贝济埃曲线之rQuadTo 7.1.4 示例:波浪效果 7.2 setShadowLayer与阴影效果 7.2.1 setShadowLayer()构造函数 7.2.2 清除阴影 7.2.3 示例:给文字添加阴影 7.3 BlurMaskFilter发光效果与图片阴影 7.3.1 概述 7.3.2 给图片添加纯色阴影 7.4 Shader与BitmapShader 7.4.1 Shader概述 7.4.2 BitmapShader的基本用法 7.4.3 示例一:望远镜效果 7.4.4 示例二:生成不规则头像 7.5 Shader之LinearGradient 7.5.1 概述 7.5.2 示例:闪光文字效果 7.6 Shader之RadialGradient 7.6.1 双色渐变 7.6.2 多色渐变 7.6.3 TileMode填充模式 第8章 混合模式 8.1 混合模式之AvoidXfermode 8.1.1 混合模式概述 8.1.2 AvoidXfermode 8.1.3 AvoidXfermode绘制原理 8.1.4 AvoidXfermode之Mode.AVOID 8.2 混合模式之PorterDuffXfermode 8.2.1 PorterDuffXfermode概述 8.2.2 颜色叠加相关模式 8.3 PorterDuffXfermode之源图像模式 8.3.1 Mode.SRC 8.3.2 Mode.SRC_IN 8.3.3 Mode.SRC_OUT 8.3.4 Mode.SRC_OVER 8.3.5 Mode.SRC_ATOP 8.4 目标图像模式与其他模式 8.4.1 目标图像模式 8.4.2 其他模式——Mode.CLEAR 8.4.3 模式总结 第9章 Canvas与图层 9.1 获取Canvas对象的方法 9.1.1 方法一:重写onDraw()、dispatchDraw()函数 9.1.2 方法二:使用Bitmap创建 9.1.3 方法三:调用SurfaceHolder.lockCanvas()函数 9.2 图层与画布 9.2.1 saveLayer()函数 9.2.2 画布与图层 9.2.3 saveLayer()和saveLayerAlpha()函数的用法 9.3 Flag的具体含义 9.3.1 Flag之MATRIX_SAVE_FLAG 9.3.2 Flag之CLIP_SAVE_FLAG 9.3.3 Flag之FULL_COLOR_LAYER_SAVE_FLAG和HAS_ALPHA_ LAYER_SAVE_FLAG 9.3.4 Flag之CLIP_TO_LAYER_SAVE_FLAG 9.3.5 Flag之ALL_SAVE_FLAG 9.4 恢复画布 9.4.1 restoreToCount(int count) 9.4.2 restore()与restoreToCount(int count)的关系 第10章 Android画布 10.1 ShapeDrawable 10.1.1 shape标签与GradientDrawable 10.1.2 ShapeDrawable的构造函数 10.1.3 常用函数 10.1.4 自定义Drawable 10.1.5 Drawable与Bitmap对比 10.2 Bitmap 10.2.1 概述 10.2.2 创建Bitmap方法之一:BitmapFactory 10.2.3 BitmapFactory.Options 10.2.4 创建Bitmap方法之二:Bitmap静态方法 10.2.5 常用函数 10.2.6 常见问题 10.3 SurfaceView 10.3.1 概述 10.3.2 SurfaceView的基本用法 10.3.3 SurfaceView双缓冲技术 第11章 Matrix与坐标变换 视图篇 第12章 封装控件 12.1 自定义属性与自定义Style 12.1.1 概述 12.1.2 declare-styleable标签的使用方法 12.1.3 在XML中使用自定义的属性 12.1.4 在代码中获取自定义属性的值 12.1.5 declare-styleable标签其他属性的用法 12.2 测量与布局 12.2.1 ViewGroup绘制流程 12.2.2 onMeasure()函数与MeasureSpec 12.2.3 onLayout()函数 12.2.4 获取子控件margin值的方法 12.3 实现FlowLayout容器 12.3.1 XML布局 12.3.2 提取margin值与重写onMeasure()函数 第13章 控件高级属性 13.1 GestureDetector手势检测 13.1.1 概述 13.1.2 GestureDetector.OnGestureListener接口 13.1.3 GestureDetector.OnDoubleTapListener接口 13.1.4 GestureDetector.SimpleOnGestureListener类 13.1.5 onFling()函数的应用——识别是向左滑还是向右滑 13.2 Window与WindowManager 13.2.1 Window与WindowManager的联系 13.2.2 示例:腾讯手机管家悬浮窗的小火箭效果 Ben shu cong zi ding yi kong jian de dong hua,Hui tu,Shi tu san fang mian ru shou,Fen bie jiang jie yu zi ding yi kong jian xiang guan de ge zhong zhi shi,Xi tong di shu li xiang guan zhi shi dian,Bing qie tong guo an li jiang jie mei ge zhi shi dian zai xian shi gong zuo zhong suo neng shi xian de gong neng
دانلود کتاب Android自定义控件开发入门与实战