00:00
同学们在历史运中显示侧滑it等,现在到目前为止,我们历史用用的上派的上场吗?现在还没有啊,所以这个是item,现在我们所做的是全是item啊,现在还没有到这个出场,接下来是不是要也该历史运输场了,那就改成什么?哎,那这个时候要把这个历史谬给什么?实例画出来吧,啊,实例画出来,然后来到这里把它给实例画叫历史的view,然后呢,把它给这个FBC把它化吧。那接下来在这个地方里面,我们在设置适配器,把它变成是一个列表啊,实一个列表啊,那这个时候我们就要去这个准备数据对不对,先准备数据再设置数据吧,设置是配器先要准备数据对吧,准备数据还不简单啊是吧?好我们这时候呢,List,然后我们可以叫MY就自己做一个B。
01:08
可以作为病的好,MY病这病有了吗?没有好,我们把它给创建出来。啊,一个类,那这个地方里面的话,其实就用一个名名字就可以了,对吧,好间类型啊内蒙。好,然后的话呢,这个内蒙好是这个内容就是content content好,那这个时候我们去点一下这个设盖的方法。对吧,这就是我们的一个内容,好,那么有了过后好来到妹这里,把其他不相关的关闭掉。然后在这个地方里面的准备数据,那先要60个集合吧,好,然后有了过后做一个户型环I个,把数据添加进去吧,I小于,假如说我们搞100条大家加,然后这个时候买B啊,然后点ADD61个啊B。
02:15
是吧,那用B的话,其实我们构造方法是直接把我们对的内容传进去啊,应该再选一个什么构造方法或者构造,有同学叫构造器也对啊,啊内容。然后就是内蒙主义内容OK啊好,那这个时候我们就。把这个门存进去叫做can,加上这个是,哎呀。这样的话是不是可以了,数据是有了100条吧,所以一会的话呢,这根们全是勘探的,是不是看到没有,就这么来的,好,那有的空接下是44倍了吧,好44倍这里那就第十。
03:03
对吧。的话,那这个时候啊MYA好,这看是然后继成什么被,可这起是不是好,那同学们这地方里面的话呢,我们。下值的方法,然后在我们地方里面,我最好把它写成内的成变量,因为因为啊,很多情况要可能用得着它。把这哥们。在这里溜一下,好,然后把它拿去好,那接下来这个地方你们要。要应该是要一个什么,总的吧,那是一个他的一个什么哇,是不是,嘿,那有那个是什么。艾特,是不是刚才我们花了很大精力让他可以策划的一个大名鼎鼎的,大名鼎鼎的谁?
04:03
的out呀,这哥们太有名气了是不是啊,刚才我们花了很大精力打造的是吧?打造了一个非常牛逼的控件是吧?好,接下来哎呀,我们就看那这个它等于浪,是不是等于浪的时候我们就等于是you,然后infl may有点this,然后r.out点的是it,就那吗?这it是谁?就是刚才我们自定义的这个控件呢,它里面是有两个特殊文本的,你看很有名气的两个控件的,很有名气的一个控件是吧,那接下来它这里面它有两个ID,是不是我们要也要定一个后的呀?好,所以最好在它外边是start class,然will hold,这be hold是可以叫其他名字也可以啊,那么里面是特殊you好,注意,虽然我们这边include ID写在这,但是我们真正对应的是这个文本啊。
05:12
所以我们回来的时候是也可以用用用文本也可以啊,啊,而且这样的话就用文本啊,好text的view,然后it的一个menu是这样的,好,然后把这个们定义吧,然后在这里面。把它给溜出来吧,好,你看这个代码就很熟了,对吧,后的,然后内容发6id.id.item内容是不是把它给强转一下。好。把他。然后这个改为item的一个menu啊好把这个是不是也改也改一改,接下来就设置一个什么T对吧,同学们已经。
06:08
滚瓜烂熟了,滚瓜大家煮过黄,煮过那个南瓜吗?南瓜当你滚过后,他就很怕了,就叫滚瓜烂熟。就这么一个意思啊,特别熟了是吧,熟透了是吧,蜜桃成熟了是吧,接下来我们呢,去把它这样子盖咱们的对不对,然后把它这个。把它总换一下,是不是这个呢,也要返回去啊。好,那这个时候应该是有都那内容有了吗?同学们。是还没有设置内容啊,好,这个时候根据我们的位置去得到内容,对吧,好内容就是MYP呗,是吧,等于我们的这个my be get,我们的是这样的。
07:09
然后我们去把menu是都是叫delete啊,但是内容是不一样啊,好然后set的,然后呢,MY里面它有个get才什么内容,好我们去运行起来,同学们这个时候呢,你就发现。你没发现?就都有了,对吧,都有了。哇塞,是不是好,都可以滑动了。然后呢,也可以滑动,你看也滑动那一放。可以吧,貌似很正常是不是,但是大家好,假如我滑我我滑动一点空,我上下滑动,这都能还能回弹吗?不能回弹了,那我再滑一点点哦,上海华东。再滑动多一点,再滑动,再滑动一点点。三滑动好,这哥们从此以后你看就这么丑了,但是我们做好了,你会发现我滑动一点点。
08:07
我再上下滑动都滑不动是吧?好,然后呢,你放过后他始终能回去是吧,那这哥们你看就回不去了,我们得什么给他点一下。啊对,回去回去回去OK是吧,这样的话他才回去就是还没那么智能是不是。好。那么。我们要去解决它对吧。那这个解决它要想去解决它是我要弄明弄弄明白这个原理啊。好,那也就是说到目前为止,咱们的结构要梳理一下。在这个地方里面,最外面它是一个什么吧?好,我们画个图,同学们。虽然在这个地方里面,大家可能看到的是这么一个东西。
09:02
是吧,好复制粘贴到这里来,那么其实在这个地方里面。它最外层。是一个。吧,是不是接下来它里面就有一个叫什么呀。它里面加着一个布局,这个布局里面应该是一个什么一个什么全布局吧,然后在里面再有什么,这没问题吧,那历史里面再有谁呀。啊,有谁历史里面有谁是有这个哥们呢?这个是有某一艾特的。然后他里面再有谁。他再有content content you吧,好,还有谁,他有两个孩子对不对,好,它里面下面有两个是不是他又。
10:13
他有两个孩子叫做man,是这样的,同学们当成这个结构啊,好,那么在这个过程中,谁有对事件的?消费的能力,或者有拦截的能力啊。这个有它也有,是不是在这个地方里面,也就是说我们在滑动的过程中,它想的是隶属于的滑动时间了吧,然后。就没他啥事了,你看,当然我左右滑动的时候确实想着自己,是不是当我上下滑动的时候。是不是被这个事件被历史又给处理了,因为确实是历史又在响应了吧,所以他的触摸事件还生效吗?大家可以看一下,我们看一下日志啊,在我们这个地方里面呢,我们要去看一看,因为我们在一放的时候看up啊,然后我们来看up,就当我。
11:10
在这个地方里面的时候,我去打个日志啊,打日志的话就是一,那我们T叫阳光服务。啊,这个不作业是吧,啊叫啥嘞啊他吧,啊他然后啊这个的话呢,我们就叫啊叫这个类。这个类的什么呀。触摸事件的up。是这样的话,我们就知道他做了什么事情,对不对,好,那么同样。当的时候,我们也要。打印一下。然后物语的时候也要打印一下下。对吧,好,然后把它给创建出来,对不对,好然后。
12:06
这地方里面get我们的是不要class啊,点get的什么内,注意这个的话是得到这个好,然后我们去。一起来。明显的后大家看的是按下的时候,左右滑动的时候,应该它是有有作用的吧,因为它可以滑动对吧。好大看好同学们啊大看好了啊,我一按下有作用啊,左右滑动是也作用啊阿,是也可以啊好我把它删掉,然后接下来我在滑动一半的时候有作用是吧。我上下滑动。还有吗?还有用吗?你看我一直在滑动,你看他有都是有打重新打出来吗?没有。这个时间被谁搞定了?是不是被历史干掉了?是不是好,那咋整呢?
13:04
是不是?那是不是我们当前这个控件。因为历史入的话是我们。隶属U的话,是不是这根们的话他拦截了,当然我们可以在隶属U里面,可以不拦截,可以直接隶属U,这是种解决办法,那除了这种我们是可以在孩子也可以做一个事情呢,法拦截啊,对不对,好,我们是做完在休息呢,还是现在休息啊,摆在我面前的就这个问题,就是我滑了一点过后,我上下拖动一放。他已经什么不回去了。导致这个问题的原因是因为我们。我们左右滑动的时候。确实响应了我们自定义的这个slide对不对,因为我们在这里面是显然是触摸事件了,它可以滑动,但是如果我们只做左右滑动的时候,它确实响应自己,但是上下滑动的时候,历史又是有上下滑动啊。
14:10
当我滑动一点,上下滑动的时候,这个时候我们看到的是这个们是不是就没有它就触摸声音就不起作用了,大家看好啊,我左右滑动一点,再上下滑动,你看是没有弹出这字来了,一放。你看,连都没有了。阿普是丢失了。好,就是因为我们的隶属于对这个事件进行。拦截了。并且被他消费了。对不对,那我们就。那么就两解决办法,一种是这应一个隶属用,然后在事件拦截里面让它返回个false。那这样的话是传给孩子的,还有一种就是我不注意隶属用,但是我在。子的里面里面去请求。
15:01
发拦截。是不是是吧,兰姐。反拦截是作为反拦截是针对孩子而言,这个是孩子,这个是他的父成师徒吧,然后让他把时间交给自己,是反兰家他。把这事件让他传给自个。把这历史的事线传给这个,这样的话是他就可以,他的就有二了,一旦有二是不是就可以回弹了。是不是啊?好,那么我们在地方里面,我就判断了在X和Y上滑动的距离是不假如果它,如果它滑在水平方向滑动。那么大于八,那么这个时候我就要去拦截一辆车,为这个吧。那上下滑动我就不不搭理是不是。是不是好,那接下来我们就做这件事情了,那么。滑动的距离我们应该有一个起始值啊好,所以这块我们这地方里面,这里面还做一个勒当X,因为我们是大的,X是在滑动过程中每时每刻在改变的,我们要做一个历史的。
16:13
这个是指什么负值什么一次啊。那也就是说你按下这一串我记住,但是在最后一次我用它来用,但是我没有重新把它复制,这样的话,我就计算它这一个过程中总共移动多少距离吧,但是这个一小段一这个地方里面摁的。因为这个是大的随时在变化,那这个也是最新的是它得到的是一小段一小段的,但是我一会用N的减掉,当是得到一大段呢。在最终滑动这一这一个时间内,它滑动的大的距离啊。好,然后有个后float。大是不是是也是负三好,那这个地方里面。
17:01
这没问题吧?然后当晚好好当。好,那也就是说这个地方它得到它就是这个值复制给他,他又复制给他。这种想法大家能够接受吧,能能够识别吧,那这但是这个哥们在其他地方是没有被。没有被被重新复制过啊好,那接下来我们在下面这方里面大家好。我们在这方里面直接去计算。Distance。注意在地方里面float类型DDX就是X方的距离,对,然后啊N的X减掉,注意。当初从来只只只只变,没有被改过,这样的话才是一个真正的一个值啊,真正一个方程序的一个值,那接下来DY。
18:06
然后这个是N的多少啊。嗯。然后这个是什么?Y,那么其实在这个地方里面。当Y这个当是好像错了吧,好显然的话嘞,错了对吧,好当错了。错了话就感觉一看就有点丑是吧。好,然后这个的话呢,就是我们的这个啊,在X轴和Y轴滑动的距离。那么如果水平方向大于竖直方向滑动,我就认为这哥们想要侧滑是不是?那侧划的话,我就把这个实验拦截啊,把这个事件反拦截来给自己,因为我们是孩子嘛,对不对。
19:02
好,这个时候我就判断了DDX如果大于DY。那这个时候是什么滑动啊,水平方向滑动啊,方向滑动,水平方向滑动,那我响应的是响应的是哪里啊,响应的是侧滑吧,侧滑侧滑,这个侧滑是在哪个空间里面发生呢。是在的out啊,是的out是不是的下一层视图啊,所以他要做的是反弹节。对吧,是不是要做的是反拦截,拦截过后就事件给谁呢?Slide out,这明题吧,好,怎么反拦截?Get,然后request返回,就说to就是什么意思呢?就是请求禁用拦截触摸事件,意思就是把复层视图的拦截把它干掉。
20:05
然后这样的话,父亲不拦截了,是不是就给自己了,那但是注意了,那DX,那如果只要这哥们划了一丁点,是不是也有是是是大于大于丁点也算呢,但是我们最好呢,要有一个度,DX要大于我们的八个像素或者五个像都行。是这样啊。好,要做这样的一个事情。对不对,好,那我们去运行起来,大家要看好。大家好。那也就是说我左右滑动过后。我上下滑动起作用吗?不起作用了。但是你看一放回弹。就OK了,好。是可以了,是不是啊,但我上下滑动是仍然是涛声依旧啊啊,但是左右滑动是也,左右滑动后我再上下滑动不行,这样的话就避免你这个门。
21:05
又想吃天鹅肉,又想吃癞蛤蟆,这不大好啊,是不是?所以就让你只能选择一种。知道吧。对不对,好,所以的话呢,我们这样诶就可以了,对吧,就拦截了。对不对?好,那么这个同学们就是我们所讲的解决item这个滑动后不能自动打开和关闭的一个bug。导致这个问题的原因是我们的历史view。然后对我们的这个进行拦截了,因为隶属于本身有上下滑动嘛,对不对,这是我就判断一个方向,然后让我们的时代out,让他。这个左右滑动的时候,把这事线交给自己,它的二是不是才起作用啊,才可以回弹呢,是不是啊才会回弹,那这个时候呢,就是我们刚才说。
我来说两句