https://www.cnblogs.com/liaojie970/p/5869152.html

onTouchEvent是真正用来进行业务逻辑处理的地方,返回true表示已经将该事件消费,返回false表明事件继续传递。

onInterceptTouchEvent是用来进行判断是否需要对事件进行拦截从而阻止其继续往子组件传递的,返回false表示无需拦截,则递归的调用子组件的dispatchTouchEvent

方法;返回true表示需要拦截,则直接调用本组件的onTouchEvent方法进行处理。

在父组件dispatchTouchEvent中有可能会调用三个方法:

1、本组件的onInterceptTouchEvent

2、子组件的dispatchTouchEvent

3、本组件的onTouchEvent

ViewGroup中dispatchTouchEvent()具体的执行逻辑:

1、首先执行本组件的onInterceptTouchEvent。如果返回false,表明无需拦截,则调用第二个方法,即子组件的dispatchTouchEvent方法;如果返回true,无需向子组件

传递,则直接调用本组件的onTouchEvent方法

2、第一步中如果需要向子组件传递事件。如果递归调用子组件的dispatchTouchEvent返回false,则调用本组件的onTouchEvent方法;如果返回true,则无需调用本组件的

onTouchEvent方法

3、根据前两步的执行结果,将该dispatchTouchEvent的返回值返回给父组件的dispatchTouchEvent方法。

最新文章

  1. ssh自动输入密码脚本 切换目录脚本
  2. STM32中断管理函数
  3. nodeJs中创建服务器
  4. iOS 全局断点崩溃
  5. linux异步通信之epoll【转】
  6. Laravel不同数据库的模型之间关联
  7. 为网站添加一个图标icon
  8. 关于CenttOS的防火墙问题
  9. PL/SQL执行计划查看
  10. 自定义django-admin命令
  11. 通过python操作GeoLite2-City.mmdb库将nginx日志访问IP转换为城市写入数据库
  12. Pandas三个数据结构
  13. Linux系统运维笔记(一),查看系统版本和设置系统时间
  14. ubuntu下gedit和vim输入中文和中文显示
  15. OS-96
  16. SQLServerException:将截断字符串或二进制数据的解决方法
  17. 美团客户端响应式框架EasyReact开源啦
  18. Android NDK开发-1-环境搭建
  19. UVAlive5713 Qin Shi Huang's National Road System【次小生成树】【DP】
  20. 关于docker的15个小tip

热门文章

  1. HDU 4819 二维线段树
  2. 基于Windows平台的Python多线程及多进程学习小结
  3. 吴裕雄--天生自然C++语言学习笔记:C++ 基本的输入输出
  4. 关于 with 语句
  5. POJ 3994:Probability One
  6. sqli-labs注入lesson1-2闯关秘籍
  7. SQL COOKBOOK SQL经典实例代码 笔记第一章代码
  8. 瑞士军刀DLib的VS2015编译
  9. CentOS 7.3 下部署基于 Node.js的微信小程序商城
  10. 小程序调用wx.chooseLocation接口的时候无法获取权限(ios)