问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android事件分发机制

发布网友 发布时间:2023-07-29 19:18

我来回答

1个回答

热心网友 时间:2024-12-12 21:59

Android中对视图的Touch事件进行分发处理。
单手指操作:ACTION_DOWN -> ACTION_MOVE -> ACTION_UP
多手指操作:ACTION_DOWN -> ACTION_POINTER_DOWN -> ACTION_MOVE -> ACTION_POINTER_UP -> ACTION_UP.

(1)dispatchTouchEvent():事件分发

(2)onInterceptTouchEvent():事件拦截

(3)onTouchEvent():事件处理

ViewGroup 的相关事件有三个:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。

View 的相关事件只有两个:dispatchTouchEvent、onTouchEvent。

先分析ViewGroup的处理流程:首先得有个结构模型概念:ViewGroup和View组成了一棵树形结构,最顶层为Activity的ViewGroup,下面有若干的ViewGroup节点,每个节点之下又有若干的ViewGroup节点或者View节点,依次类推。如图:

点击事件达到顶级 View(一般是一个 ViewGroup),会调用 ViewGroup 的 dispatchTouchEvent 方法,如果顶级 ViewGroup 拦截事件即 onInterceptTouchEvent 返回 true,则事件由 ViewGroup 处理,这时如果 ViewGroup 的 mOnTouchListener 被设置,则 onTouch 会被调用,否则 onTouchEvent 会被调用。也就是说如果都提供的话,onTouch 会屏蔽掉 onTouchEvent。在 onTouchEvent 中,如果设置了 mOnClickListenser,则 onClick 会被调用。如果顶级 ViewGroup 不拦截事件,则事件会传递给它所在的点击事件链上的子 View,这时子 View 的 dispatchTouchEvent 会被调用。如此循环。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 好听的冷门歌 电脑主机连接耳机以后,触摸接口处,发现有漏电现象怎么办?机箱没有发... 如何完善原有的大数据系统 赔偿金和违约金需要二选一吗 违约金赔偿金经济补偿有什么区别 民法典赔偿损失及违约金 高分求本命年运势 查抄网络信息的勿进 猪能不能考上大学 第一车苹果拉走不付款 第二车把车当住 违法吗? 老人要去世之前跟着女儿生活去世后要放在儿子家办丧吗 老人过世,在谁家出殡好 母亲过世3个儿子放哪家出殡好? 老人去世在谁家出殡对谁不好? hddscan出现红快怎么办 这硬盘还有救吗?HDDSCAN检测出12绿块,1486个红块,bads2 HDDscan扫描内存卡有100多红块,还能用吗? 婆婆总是问找老公要钱 美联储与美国军工的关系 孙赶超为什么没有房子 为什么我的眼睛看到暗的东西就会觉得看不清楚,在光线很亮的地方... 打印机的喷头书面叫什么,哪里有买 简单识别评估商业机会的可以从两个层面进行评估吗 识别和评价创业机会很大程度上取决于创业者的个人能力包括 高雨杨是如何识别与评价创业机会的 TPM管理咨询的基本介绍 太阳能热水器显示器上显示温度不停的转换控制器也没事是怎么回事呢? 这个热水器怎么搞,点加热好几个小时才高两三度,冬天这温度接受不了啊... c1驾照能开几顿货车 去东山岛在哪个高铁站下车? 需办无犯罪记录公证书,再拿到外事处去盖章,目的地越南,应该怎么办... 形容书的内容好的成语有哪些? 喜欢看女人穿白衬衫和黑色裙子 周口是不是河南最落后的地区了 河南一座“不起眼”的小城,却坐拥5座火车站,未来的发展前景如何? 陆真传奇沈将军 第几集高湛说我知道 ...有没有灵魂?我怎样才可以与已经去世的亲人的灵魂说话? 腿特别酸痛怎么回事 放风筝用多粗线? 大米生产许可证过期了怎么办