00:00
好,我们来看下面的。把这个先收起来。来往下看啊。下面一个事件处理。来实验处理,首先我们来看一下流程方法,这里面只能跟大家说一下啊,因为我们已经差不多测的差不多了。阿哥。啊,首先呢,是他他要什么。是分发事件呢,分发事件的时候是怎么个分发法?怎么说完了,是不是从外向里一层一层分发呀?来给大家写详细点。从外。向里一层一层分发,那分发到哪为止了?分发到。啊,事件发生的最里面的。
01:07
视图对象对吧?这个视对象一定是view吗?我吧,也可能是一个什么v group吧。对不对,嗯。哎,我问一下这个分发到事件发生的位置,怎么,我怎么判断它发生在哪啊。你们发生的最里面那个视图是不是事件它一个坐标啊,而我的视图是不是有坐标区域啊。这个中间要比较看我的视图,我的事件有没有发生在指定的视图身上。这个能理解吧。嗯。好,这是说的是他。啊,下面还有一个叫onto干嘛了?
02:02
首先它的一个功能就是叫处理事件。什么?只要调用这个方法就说明什么。是不是处理事件呢?啊,那好了。还有一个。啊,叫消费世界。那但消费事件呢?它有一个条件,只有满足了此条件才能叫消费事件,条件是什么呢?Return,什么true,我们才说消费事件是吧,这个能理解吧?好了,下面有一个我先跟大家先说说,让大家有有一点有一个感觉,后面呢我们再用。叫onto on intercept touch。啊,如果我们按执行的相关顺序应该这么办。
03:05
应该这么办?正方说说明什么什么什么意思呢?就这一个方法,是在哪个方法里面调用呢。在分发的过程中调用的对吧,那也就是说在拦截的时候。我这个执行了吗?没有吧,并没有执行啊,这个是叫拦截请求。对吧,那它只是叫常识来间,只有什么才叫拦截成功呢?只有return to。才拦截成功对吧?那拦截请求是为了什么呢?如果啊,拦截了。
04:02
如果请求被拦截了,会有个什么事情?被拦截了,有个什么有个什么结果。那情节通过它返回处了。那请求就被被拦截了吧,或者事件被拦截,不能说请求是吧,事件被拦截了。那事件怎么着呢。事件不会再向。内存。是不是分八呀。分发,我要交给谁去处理?是不是交给当前的视图处理啊,交给当前拦截,嗯,当前的视图处理吧。按他这个处理也不一定是返回错误啊。对吧,这个这个不是确定的,只是说我交给你处理,但是至于你消不消费,那就看你自己了。
05:07
但一般都肯定是消费的,你在想嘛,我我千辛万苦拦截上了,我不消费我干嘛呢。能理解吧,啊,就是这样的一个事,大家需要去知道啊。好。后面啊有一个概念,大家看到现在大家已经知道几个概念,分发啊,拦截处理消费。还有一个,你看这个方法名特别长,让人受不了是吧,叫request请求,请求什么呢?Dis漏漏是什么?允许Dis漏了不允许,不允许什么拦截触摸事件吧,就请求不允许男爵触摸世界。传一个什么呢?肯定传一个处,要传就传一个处,对吧,对我们来说传一个to就代表。
06:05
大家看啊,这个时候他一般会怎么写的,一般是这么写的啊,真正写的时候我跟大家写一下吧,就是一般会这么写,叫get parent。这一个方法一般会这么写。为什么这么写?这么写是什么意思呢?嗯,大家看一般这么写,Get什么意思,一般是啊,或者说这么写。we.get是不是得到复试图让复数读什么?不要去拦截我的实现。诶,这个这个操作其实跟这个拦截它相反的。复习呢,可以通过一定的手段来拦截事件,让事件不要跑到孩子身上去。对吧,那孩子呢,就是反拦截吗?这是父亲,这是孩子,站在父亲的角度,他可以用这样一种模式,这个方法来去拦截,事件就这里不要传了。
07:13
11、18。啊,但是你这么做的话,就搞得我的孩子受不了。对不对,有的时候那个孩子就会做一件事情。干嘛了?我作为一个孩子来说,站在他的角度,他会去调用这样一个方法。要用这个方法。做一个什么事情啊,说把view get parent。得到布斯走了吧,这布局让他什么不允许拦截事件?那最终事件你交给谁了?叫谁了?叫孩子啦?人说我不来你家了吗?我跟你说不允许按键,那你就调换不了。
08:01
那说到最终,大家想。那个那个优先级高一点的还是谁啊,孩子孩子吧,这很正常的事,就是应该孩子的优先级要高一点。对不对,这很正常,因为你的事件如果发生这里面的话,你你出过的是这一部分操作的话,那就应该是这样的嘛。对不对。你要操作在这里。还需要什么拦截吗?我要操作这一部分,你说父亲还要拦截吗?那还拦截个啥呀,拦截谁去啊,你这个里面你就是目标对不对,你就是优先级最高的目标。你就不需要拦截了,对不对,那很多时候有的时候是不是操作的是里程啊。这。就有一个变化了啊。大家一定要把这个拦截和不拦截先有一个基本的理解啊。
09:03
我们教他啊把拦截。啊,就是不允许拦截,就要反拦截啊,这样大家要听懂啊。好,这个处理事件啊,这个里面有这么多流程方法。啊,下面一些就是说的一些他了,分发处理消费拦截。画了脸对吧。好吧,这里面都有说明,其实我们都已经说了啊,从activity开始由外向里进行分发,对吧。把它处理了,哎,这个地方实际上是不是有。有两个,一个是监听器,一个什么回调方法。啊,而且他们这个里面都有返回值的。这两个处理请求的方,处理事件的方法是不是都有一个不型的返回值啊?都有一个布尔型的返回值啊?
10:03
啊,这个返回值就决定了。是不是什么消费事件,对不对。啊,在这地方消费只是回调方法,返回什么。很简单一个事,好在分发的过程中涉及到拦截。的反拦截。什么意思,拦截呢?很简单,就是这样一个方法,返回的是处。啊,如果返回数他是疑问的,就不会再常改。指view对象。这个你要知道,拦截是发生在分发的过程中的,此时还没有精力处理好,下面一个就是反拦截。啊把拦截呢,我是先去把父亲身上设置一个标识。不允许它拦截。一旦我设置这个标识。那事件就会交给什么,大家看U负U无能拦截事件,那事件就会分发到当前VU,当前无U是不是负无U的子view u啊啊就这样的一个意思。
11:13
啊,只有真正的把他们几个都搞定了以后呢,整个事件机制它才是一个完整的。啊,如果你只有上面那几个,其实很多事情我们都做不了。就咱的一个事情啊。
我来说两句