android View属性之dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent

 前言:辞职也一周了,在家里宅了5天,找了两工作,找得人心灰意冷的,一点信心都没有。宅在家里连游戏都不打了,看起动漫来了,在这里强烈推荐一部动漫《Re:从零开始的异世界生活》,把男主角虐待,绝对值得你看!!!现在开始走入正轨,继续我的研究,工作没找到也不能荒废学习,这里讲解dispatchKeyEvent,onTouchEvent,onInterceptTouchEvent这个三个方法

————再苦再难,居然选着了这个坑,就要努力爬,明天继续加油找工作。


android View属性之dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent

这里为啥要把这三个方法一起讲呢,先不解释,上盗的图:


对,这就是大名顶顶的事件的分发,拦截,响应,简单的说,就是对你手指在屏幕上按下,移动,抬起过程中,对应位置的view是不是对其响应,上面的yes表示有该方法,no表示没有该方法。

对于这几个方法我也看了好多博客,都看得懵懵懂懂的,看样子读了不写也没效果。我对于多个方法要做比较,我觉得最好的入口是看他们的执行顺序,我这里研究的顺序是Activty,View,ViewGroup。

一,Activty:

1,dispatchTouchEvent和onTouchEvent都返回super同时点击位空白位置执行顺序


2,dispatchTouchEvent和onTouchEvent都返回super同时点击设置了点击事件的空间位置执行顺序


可以发现没有执行onTouchEvent,先不解释

3,dispatchTouchEvent为super,onTouchEvent设为false或者true效果同1,2

4,dispatchTouchEvent设为true或者false过后,不再执行onTouchEvent,只执行dispatchTouchEvent,同时所有View点击事件失效。

二,ViewGroup:

这里继承的RelativeLayout

1,所有函数都返回super,点击空白没控件位置


2,所有函数都返回super,点击没设点击事件的控件


3,所有函数都返回super,点击设有点击事件的控件


4,ViewGroup的dispatchTouchEvent设置为true,其余函数都返回super,点击所有位置都一样


5,ViewGroup的dispatchTouchEvent设置为false,其余函数都返回super,点击所有位置都一样,View控件点击事件失效


5,ViewGroup的onInterceptTouchEvent设置为true,其余函数都返回super,点击所有位置效果同第1条,但是,View控件的点击事件失效。

6,ViewGroup的onInterceptTouchEvent设置为false,其余函数都返回super,点击空白、没设点击事件控件、设了点击事件控件,效果图以此如下:




7,ViewGroup的onTouchEvent设置为true,其余函数都返回super,点击空白处和点击没设点击事件控件一样,点击设置了点击事件的控件效果图依次:



8,ViewGroup的onTouchEvent设置为false,其余函数都返回super,点击空白处和点击没设点击事件控件一样效果同1,设了点击事件控件效果同3.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值