您好,欢迎光临有路网!
Android自定义控件高级进阶与精彩实例
QQ咨询:
有路璐璐:

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

  • 作者:启舰
  • 出版社:电子工业出版社
  • ISBN:9787121402081
  • 出版日期:2020年12月01日
  • 页数:0
  • 定价:¥129.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787121402081
    • 作者
    • 页数
      0
    • 出版时间
      2020年12月01日
    • 定价
      ¥129.00
    • 所属分类
    内容提要
    本书专注于介绍Android自定义控件进阶知识,并通过精彩的案例对各种绘制、动画技术进行了糅合讲解,读者可以通过本书从宏观层面、源码层面对Android自定义控件建立完整的认识。本书主要内容有3D**的实现、**矩阵知识、消息处理机制、派生类型的选择方法、多点触控及辅助类、RecyclerView的使用方法及3D卡片的实现、动画框架Lottie的讲解与实战等。 本书适合中**从业者对Android自定义控件相关知识进行查漏补缺和深入学习。
    目录
    第1章 3D** 1 1.1 3D**概述 1 1.1.1 2D坐标系与3D坐标系 3 1.1.2 Android中的Camera类 5 1.1.3 构造Camera类使用实例 8 1.2 Camera类用法详解 12 1.2.1 平移 12 1.2.2 旋转 16 1.2.3 改变Camera的位置 20 1.3 实现3D卡片翻转效果 23 1.3.1 框架搭建 23 1.3.2 效果改进 29 1.3.3 正背面显示不同的内容 34 1.4 实现小米时钟的触摸倾斜效果 37 1.4.1 框架搭建 38 1.4.2 实现ClockViewGroup 39 1.4.3 ClockViewGroup应用 45 第2章 位置矩阵 46 2.1 位置矩阵概述 46 2.1.1 矩阵运算 46 2.1.2 位置矩阵简介 48 2.2 Matrix类中函数用法详解(一) 51 2.2.1 基本函数 51 2.2.2 前乘与后乘 55 2.2.3 其他功能函数之缩放(Scale) 59 2.2.4 其他功能函数之错切(Skew) 67 2.2.5 其他功能函数之setSinCos 72 2.3 Matrix类中函数用法详解(二) 75 2.3.1 mapPoints 75 2.3.2 其他map相关函数 77 2.3.3 setPolyToPoly 79 2.3.4 setRectToRect 82 2.3.5 其他函数 85 2.3.6 Matrix与Canvas 87 2.4 折叠布局实战(一)——核心原理 88 2.4.1 折叠原理概述 89 2.4.2 实现完整折叠效果 101 2.4.3 添加阴影效果 105 2.5 折叠布局实战(二)——折叠菜单 108 2.5.1 使用ViewGroup实现折叠效果 109 2.5.2 实现折叠菜单 114 第3章 派生类型的选择与实例 121 3.1 派生类型的选择方法概述 121 3.1.1 View类及ViewGroup类的选择 121 3.1.2 继承自View类的处理流程 123 3.1.3 继承自View子类的处理流程 132 3.1.4 继承自ViewGroup类的处理流程 135 3.1.5 继承自ViewGroup子控件类 140 3.2 自定义EditText 144 3.2.1 显示删除图标 144 3.2.2 点击删除图标并清空文字 147 3.3 实现圆角布局 148 3.3.1 实现布局类 148 3.3.2 使用布局类 149 3.3.3 修复背景问题 150 第4章 消息处理 154 4.1 Android事件分发机制 154 4.1.1 概述 154 4.1.2 不包含onInterceptTouchEvent函数的ACTION_DOWN消息传递流程 156 4.1.3 onInterceptTouchEvent函数的ACTION_DOWN消息传递流程 161 4.1.4 关于ACTION_MOVE和ACTION_UP消息传递流程 164 4.1.5 在ACTION_MOVE消息到来时拦截 168 4.2 消息拦截实战——实现可拖动的方向按键 173 4.2.1 框架搭建 174 4.2.2 实现拖动效果 178 4.3 坐标系 181 4.3.1 屏幕坐标系和数学坐标系的区别 182 4.3.2 View坐标系 182 4.3.3 MotionEvent提供的函数 186 4.4 详解requestDisallowInterceptTouchEvent函数 187 4.4.1 requestDisallowInterceptTouchEvent函数概述 187 4.4.2 尝试使用requestDisallowInterceptTouchEvent函数 187 4.5 滑动冲突处理原理与实战 192 4.5.1 常见的滑动冲突场景 193 4.5.2 解决滑动冲突问题的思路 193 4.5.3 滑动冲突解决方法 194 4.5.4 滑动冲突实战 196 第5章 多点触控详解 203 5.1 多点触控基本知识 203 5.1.1 概述 203 5.1.2 单点触控与多点触控 203 5.1.3 多点触控 206 5.1.4 实例:追踪第2根手指 207 5.1.5 多点触控与ACTION_MOVE消息 211 5.1.6 其他获取函数 213 5.2 拖动图片控件与多点触控 216 5.2.1 单点触控下的拖动图片控件 216 5.2.2 多点触控下的拖动图片控件 220 5.3 制作双指缩放控件 222 5.3.1 原理概述 222 5.3.2 实现可缩放的文本控件 223 第6章 工具类 228 6.1 Scroller工具类 228 6.1.1 探讨scrollTo与scrollBy函数 228 6.1.2 Scroller概述 234 6.1.3 改造demo 236 6.1.4 实战:Android滑块开关 240 6.2 ViewDragHelper类简介 251 6.2.1 概述 251 6.2.2 简单用法 252 6.2.3 疑��解答 260 6.2.4 边界判断 265 6.2.5 onViewReleased函数 270 6.3 实现QQ侧边栏效果 275 6.3.1 基本功能实现 276 6.3.2 添加手指释放时的动画 280 6.3.3 展开侧边栏的实现原理 281 6.3.4 实现展开侧边栏 283 6.3.5 添加侧边栏的展开/关闭动画 287 6.4 ViewDragHelper类源码解析 289 6.4.1 创建ViewDragHelper实例 289 6.4.2 消息不被子控件消费的Touch事件的处理方法 291 6.4.3 消息被子控件消费的Touch事件的处理方法 314 6.4.4 **问题解析 320 6.5 ViewConfiguration类 323 6.5.1 距离相关函数 324 6.5.2 速度相关函数 325 6.5.3 时间相关函数 325 6.5.4 其他函数 326 第7章 RecyclerView 327 7.1 RecyclerView概述 328 7.1.1 导入support-v7包 328 7.1.2 RecyclerView的简单使用 329 7.1.3 其他LayoutManager 334 7.1.4 加载不同类型的View 340 7.2 添加分割线 345 7.2.1 引入ItemDecoration 345 7.2.2 自定义ItemDecoration 347 7.3 自定义LayoutManager 359 7.3.1 初始化展示界面 360 7.3.2 添加滑动效果 362 7.4 RecyclerView回收复用HolderView的实现方式(一) 367 7.4.1 RecyclerView是否会自动回收复用HolderView 368 7.4.2 RecyclerView回收复用HolderView的原理 370 7.4.3 给CustomLayoutManager添加回收复用HolderView功能 374 7.5 RecyclerView回收复用HolderView的实现方式(二) 386 7.5.1 初步实现 386 7.5.2 继续优化:回收时的布局 392 7.6 ItemTouchHelper 396 7.6.1 ItemTouchHelper的基本功能实现 397 7.6.2 真正实现滑动删除与拖曳移动 401 7.6.3 其他功能:交互时的背景变化 402 7.6.4 GridView中的滑动/拖动效果 405 7.6.5 getMovementFlags中的各种flag 407 7.6.6 禁用拖曳与指定拖曳 409 7.6.7 onChildDraw函数 417 7.6.8 其他函数 419 7.6.9 布局方向 421 第8章 RecyclerView**实战 423 8.1 滑动画廊控件 423 8.1.1 实现item布局 424 8.1.2 实现横向布局 427 8.1.3 实现横向滑动 430 8.1.4 实现卡片叠加 433 8.1.5 修改卡片起始位置 434 8.1.6 更改默认显示顺序 435 8.1.7 添加滑动缩放功能 441 8.1.8 bug修复 444 8.1.9 拓展1:fling校正 446 8.1.10 拓展2:制作3D画廊 452 8.2 仿QQ列表滑动删除效果 454 8.2.1 有问题的ItemTouchHelper之实现demo 455 8.2.2 有问题的ItemTouchHelper之显示出底部操作栏 459 8.2.3 改造ItemTouchHelper 466 8.2.4 使用ItemTouchHelperExtension实现 467 8.3 使用SnapHelper实现滑动对齐 470 8.3.1 SnapHelper概述 471 8.3.2 LinearSnapHelper的使用 472 8.3.3 PagerSnapHelper的使用 475 第9章 精彩自定义控件实战 476 9.1 华为时钟 476 9.1.1 实现原理 477 9.1.2 实现遮罩叠加 477 9.1.3 实现遮罩旋转 481 9.1.4 显示时间 483 9.1.5 封装组件 486 9.2 圆环动画 488 9.2.1 圆环扇形原理 489 9.2.2 初步实现控件圆环效果 492 9.2.3 制作多彩圆环 497 9.2.4 实现渐显动画 499 9.3 自定义控件与组合控件实战 503 9.3.1 初步实现VolumeView 505 9.3.2 实现音量动效 511 9.3.3 组合控件 514 第10章 Lottie动画框架 519 10.1 Lottie概述 519 10.1.1 Lottie是什么 519 10.1.2 Lottie demo之基本功能 521 10.1.3 Lottie demo之在线加载Lottie 523 10.1.4 Lottie demo之其他功能 528 10.1.5 Lottie社区 529 10.1.6 Lottie动画优势 531 10.2 Lottie与AE 531 10.2.1 环境安装 531 10.2.2 Lottie完整使用流程 532 10.2.3 Lottie JSON与AE 536 10.2.4 图片图层的使用 542 10.2.5 文本图层的使用 544 10.2.6 Lottie支持的AE功能列表 546 10.3 Lottie的使用方法 547 10.3.1 初步使用Lottie 547 10.3.2 Lottie在代码中的使用 552 10.4 Lottie核心原理 567 10.4.1 概述 567 10.4.2 初始化 567 10.4.3 测量与布局 570 10.4.4 绘图 571 10.4.5 如何动起来 573 10.4.6 疑问解答 573

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外