对Android view/viewgroup事件分发的理解
首先看看讲事件分发的博客: http://blog.csdn.net/xiaanming/article/details/21696315 和 http://www.csdn123.com/html/topnews201408/57/3457.htm
https://blog.csdn.net/jo__yang/article/details/52789523
https://blog.csdn.net/a553181867/article/details/51296308
点击事件是在ViewRootImpl.java中生成的。
事件分发是自上而下的, 父节点消费了事件后, 子节点就无法再得到该事件(即拦截);如果子view消费了事件, 那么父view就不再传递该事件。、
最简单的例子, 一个viewgroup里包含一个view, 点击这个view。
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup dispatchTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onInterceptTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyView: view dispatchTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyView: view onTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onTouchEvent
我们要注意下ViewGroup的dispatchTouchEvent函数中这块代码, 如果拦截了ACTION_DOWN事件, 后续就不会有MOVE、UP事件了。
对Android view/viewgroup事件分发的理解相关推荐
- Android View的事件分发机制解析
作者:网易·周龙 最近刚看完android-Ultra-Pull-To-Refresh下拉刷新的源码,发现在写自定义控件时,对于View的事件的传递总是搞不太清楚,而View事件的分发机制,又是解决可 ...
- Android View的事件分发机制和滑动冲突解决方案
这篇文章会先讲Android中View的事件分发机制,然后再介绍Android滑动冲突的形成原因并给出解决方案.因水平有限,讲的不会太过深入,只希望各位看了之后对事件分发机制的流程有个大概的概念,并且 ...
- Android ViewGroup事件分发机制
理~ 1.案例 首先我们接着上一篇的代码,在代码中添加一个自定义的LinearLayout: [java] view plaincopy package com.example.zhy_event03 ...
- android viewgroup点击变色,Android ViewGroup事件分发
上篇文章已经分析了Android的Touch事件分发.如果没看的建议先看一下.Android View的Touch事件分发. 接下来我们开始写几种场景,得出一个初步的执行顺序,然后我们按照这个顺序开始 ...
- Android中的事件分发和处理
上次跟大家分享了一下自定义View的一下要点,这次跟大家聊一下View的事件分发及处理,为什么主题都是View,因为作为一名初级应用层Android工程师,跟我打交道最多的莫过于各种各样的View,只 ...
- android touch事件无反应,android的touch事件分发响应机制
想要弄明白android的touch事件分发响应机制需要先充分理解一下几个知识点: View和ViewGroup touch事件的构成 ViewGroup如何对事件分发和拦截 View和ViewGro ...
- 安卓自定义View进阶-事件分发机制原理【转自 app架构师 微信公众号】
注意:本文中所有源码分析部分均基于 API23(Android 6.0) 版本,由于安卓系统源码改变很多,可能与之前版本有所不同,但基本流程都是一致的. 为什么要有事件分发机制? 安卓上面的View是 ...
- 总结系列——聊聊android里面的事件分发
前言 android 中的事件分发,已经是老生常谈的问题了,一般都是从Activity开始聊,但是真的是这样吗?hongyang大神之前一篇纠错,解决了我一个很大的困惑,也算是扫盲吧,这篇文章,是从头 ...
- 安卓自定义View进阶-事件分发机制详解
原文地址:http://www.gcssloop.com/customview/dispatch-touchevent-source Android 事件分发机制详解,在上一篇文章 事件分发机制原理 ...
最新文章
- shell任务不受意外中断影响的常见方法
- CPU深夜狂飙,一帮大佬都傻眼了...
- LINQ教程二:LINQ操作语法
- centos7使用sendmail发送邮件
- WebRTC各种资料集合(WebRtc入门必看)
- 为什么每个理发店门口都有彩色的柱子?你不知道吧
- python 生成pdf页面大小_(Python)更改使用xtopd生成的PDF文件的页面大小和格式
- 客户端配置_PPPoE服务器端客户端的配置案例脚本
- 如何在Node.js上的Express.js中获取GET(查询字符串)变量?
- 微信小程序支付-付款(Java后台)
- [转]详细解说:简单CSS3实现炫酷读者墙
- mybatis进阶(动态sql、关系映射、延迟加载、缓存)
- java计算机毕业设计论文评审系统源码+系统+mysql数据库+lw文档
- vvic/搜款网API接口(item_search-根据关键词取商品列表 )
- iOS开发-class_ro_t和class_rw_t的区别
- 上海 -》 张家界 旅行 计划10.1
- TP-Admin 一个拥有站群功能的多功能CMS基础系统
- 51信用卡的面试问题
- canvas动画科技园_【国庆营地】把梳子卖给和尚?沃顿投资大赛预备营带你洞见价值...
- springboot-vue跨域详解