Android 中Layout 继承 ViewGroup,布局中在嵌套view

点击事件分发流程是这样的:

ViewGroup.dispatchTouchEvent()   分发viewgroup及子view的点击事件

View.dispatchTouchEvent()  分发view的点击事件


换句话说点击事件的总入口是ViewGroup.dispatchTouchEvent(),返回值 true=接受持续不断的touch事件,false=只接受一次touch事件

ViewGroup.dispatchTouchEvent() 会调用ViewGroup.onInterceptTouchEvent()  询问是否需要拦截,true=ViewGroup.onTouch(), false=View.dispatchTouchEvent()

dispatchTouchEvent 的返回值 是综合处理 onIntercepTouchEvent() 和onTouchEvent后的结果


值得注意的是,继承ViewGroup及View后的事件分发是由父view分发的,需要调用super.dispatchTouchEvent()才能正常分发

更多相关文章

  1. 安卓开发:TabHost 选项卡的基本用法
  2. 【30篇突击 android】源码统计 十七
  3. onKeyDown事件与Layout坐标交互
  4. Android(安卓)Material Design控件学习(一)——TabLayout的用法
  5. Android(安卓)Material Design Library系列教程(四)
  6. 【Android(安卓)开发教程】注册事件监听器
  7. Android学习笔记之相对布局与表格布局
  8. 仿苹果弹性布局
  9. Android(安卓)自定义View学习(十一)——ViewGroup测量知识学习

随机推荐

  1. 3.创建第一个android项目
  2. Android使用DOM方式解析XML
  3. Android应用程序使用Localsocket与Linux
  4. android自定义progressbar图片大小自适应
  5. 源码学习总结《1》Android(安卓)系统启动
  6. Android(安卓)应用程序开关GPS
  7. Android淘宝客链接自动跳转淘宝APP问题
  8. Android实现模拟时钟(简单+漂亮)--时针、
  9. OpenGL ES教程I之创建OpenGL视图(原文对
  10. Cocos2d-x 3.2编译Android程序错误的解决