00:00
啊,我们准备去说他啊,说touch事件的分发和处理啊,其实还有一个概念叫消费好了,这个时候呢,要去写一个测试来去做一下啊测试呢,我这里面有一个基本的测试工程啊,我们可以来用一下。啊,导入。Import刷新。Copy。Finish。啊,这工程现在非常的简单啊,主要是做一些测小测试,我把它运行起来。好,这个时候呢,应该是需要去启动模拟器。啊,让它启动着。好,我们简单来看一下里面的一些东西啊,边一边测试了一边来说明好了,来这里面呢,我有一个主界面啊,这一个呢,是用来来写一下测试啊motion。
01:10
笑看笑啥呀,这是好了。来来从它的一个主界面啊,它的主界面主界面OK,这个界面呢,非常简单,我们来看一下。就这样两个八。啊,这两个button,它说点击启动motion event。啊在测试,那也就是说来看一下这个地方有两个。吧台是吧?OK,来这两个吧台呢,要去启动啊,OK,这里面两个吧台他们呢,有两个类,让我们去去启动,来试一下统计这先说点击。这个按钮来启动怎么做来着。
02:01
啊,那也就说我要设置什么,是不是点击监听呢?点击监听啊,怎么着来着啊先我先找到这个视图是吧,Find view byd.ID点它直接来一个set on connect,又一个不点oner。这是他吧,OK,启动一个activity,那是小case了,到了activity new,一个intent,指定一下它来这个写什么main activity.this。好了,这是一个motion的测试,叫motion test activity.class是吧,OK?嗯,搞定第一个好了,还一个。
03:00
这一次我们要去啊,设置一下长案,今天怎么说呢?来找另外一个视图,Find you,嗯。BYD r.id.B填test are好,这个时候设置长按接听on now。对吧,来利一个V点啊,那肯定肯定行了。啊,搞定好了,我现在要去启动一个界面。对吧,其中一个页面来这个地方整一下它,呃,我们叫一个key event test好了吧,OK,如果你还有点击实验,那你要把它变成什么true啊,OK,好了啊,现在因为我们没有点击实验啊,就是force也没问题啊,没有关系。
04:00
OK,好,我呢把它起来。好起来以后呢,我这一个写个注释啊,这个是测试motion对吧。来看一下,点击可以吧,好了,长按。惨案。是不是按着才行啊,OK,好了,没有问题,好这个。哎。这里面呢,有一个点击啊,点击的时候呢,现在啊,我们来看一下我们的界面结构。非常简单,外围是一个image view,里面是一个什么image view啊,是个线性,外面是个线性布局nearly out,里面是个image view。OK,整个结构非常简单啊,没有什么太大问题,对吧,也就是说我的事件啊,可能发生在这个地方,也可能发生这个地方吧。
05:09
OK,是这样的一个事,好了,为了能够测试呢,我做一些准备工作,我把那些一些方法。都给大家写一下,大家看到我啊做点什么事了,大家看,首先我们得知道activity有哪些跟事件相关的方法。首先还有一个什么分发踏起一的方法吧,OK,这是一个还一个,它还有一个处理事件的方法,叫onto event。没问题吧,好了。下面比较难的地方就要出来了,大家看着我啊。我呢,我有可能是去操作这个imagine you吧,那imagine you怎么样给它添加一些监听或者回调了。
06:02
那来看一下,我们来看一下,看一下对有两种方式,一种大家看到啊,它有它跟世界相关的,是不是有dispatchpatch问的呀,我是不是要去重写这个方法呀。那你要同学这个方法,我得定一个什么东西啊。我怎么重写,重写的先有个类吧。那想你没有类了,就是说我现在你想我写activity activity去继承它,我是不是定义一个类才能去重写啊。那现在此时此刻,我想去重写image view里面的他提问的方法,你说我怎么办?啊,以前我们是不是可以溜一个对象去匿名,对不对,但现在不行啊,这个对象是他自己创建的,不是我创建的,对吧,我得做一个事,大家看着啊。我呢,来,去写一个类,我取一个名字叫MY啊,Imagine去继承于you。
07:04
就是这一步是吧,好。来这个地方呢,我先别管错误,我先做一个是把这个类的全类名。干到这个点来。那你说到时候它去加载的时候,是不是会创建对应的对象啊,那现在是创建的是in my view对象还是my magic view啊,那自然是MYMY啊对不对,有人可能我能不能不写报名啊。我不写报名系统能知道是哪个包下面的吗?他是不是找不到啊,人说老师他怎么不写呢。是他自己设计的对不对,他是知道是哪的吧,他自己内部系统定义的视图,那他肯定知道。但你定义的他就不知道了吧,没关系,用什么是不是全类名啊。
08:05
OK好了,那现在这里报错,看一下怎么个意思。我不知道大家还知不知道这个图。前面遇到过就imagine you,没有什么无参的构造方法。对吧,我们现在呢,不能选择第一个,我们要去选择第二个啊,这个是我们后面要讲的内容啊OK。这个里面呢,要选择两个参数了,一个contact主要下面必须包含它,为什么要包含它呢?是这个叫什么呀。属性的集合,这个属性的集合在哪呀,什么是属性呢?是不是这一些呀,对吧,因为我们是不是写在布局文件里面呢,所以说呢,必须是重写这个方法啊OK。只要重写一下就行,这个不用管它啊,我们后面呢,可以我可以在这写一个打印信息,看是不是调用啊。
09:12
OK,好,我们现在就可以去重写一些方法了,大家看哪些方法呢,哪一个。分发dispatch,也就是他也可以分发对吧?啊,看他的这个分发还有用没有。好OK,好了吧,搞定我们去写的时候呢,也不用去改变它的一些默认流程,我只想写一些打印,看这方法怎么调的,还有什么。这个地方开一个回调方法。叫on touch,译文的方法,On touch英文的方法,我也可以去。去重叠一下是吧,我也不改变他的默认行为,打印呢,可以写一些。看我打印什么。大家看着我。
10:02
这是分发这个地方,主要有一个事情要跟大家说的是,它到底是什么类型的,怎么说。到底是上是木还是up了?Get OK,好,这一个搞定。下面一个也是一样的。你看只是方法名不一样,好了吧,好吧,这是我一个自定义的一个image view,只是我没有,我们没有,并没有实现太多的功能啊,制定image view。哎,大家看到这里,我先把这些准备工作都做好,我们再开始测试啊,来看到这个里面也是有分发,我也需要去给他写一些打印输出啊,把打印输出了都写着。啊好,这个方法改改,这样看能看出颜色的不一样,到时候能看能看出来一点啊,这个是我们的activity的,就写个activity得了,Activity好了,哪一个PA,哪一个action action是多少,Get action。
11:15
复制一个啊,往这放一个。啊,我们还没测,还没测试啊,等一会测试不急好来大家看到还有一个。干嘛?是不是设置touch的监听呢?你说这个怎么设置,这个方法怎么调,是我去重写吗。这个方法是去重写的吗?是今天怎么做的?你是不是要先找到那个对象才能设置监听呢?对吧,啊OK。得到MY什么my view怎么得到find you BYD r.id.IV好吧,好,我得到了一个image view啊,得到了,我把它拼一下吧啊。
12:13
这一个就它这是我的那个啊,实际上可以定义成什么my image view,其实你定义成view也没关系,这个不影响,好,下面我要给他做一个很重要的是设置是吧,Touch监听来试一下set on什么。一个点,On listen。OK,好啦,我在这个里面也写一个打印输出。只是这一个,这一个是imagine view的,所以我我写成一啊imagine view的写成一啊activity,下个方法我写成I啊OK,好了,搞定来改一改啊。
13:07
嗯,这一个呢,是MYMY。啊onto,嗯,写一个写一个list吧。啊。OK,那基本上我们就把这样一些方法都跟他列出来了。但是我们准备去测试啊,测试之前先把它停一下这个东西。
我来说两句