00:00
哈喽。咱们这个视频呢,主要给大家去阐述一下,在鸿蒙开发当中,我们如何使用单一手势来实现我们的啊一个多次点击事件,可能呃,在咱们平常的开发中呢,呃,对于这个多次点击事件,遇到最多的就是双击啊,比如说我们一个功能对吧,双击之后还想要体现一些特殊的效果,呃,那双击之外呢,呃,可能其他一些三次点击啊,或者说四次点击,可能这种情况相对来说呃比较少,但是呢,在一些特殊的一些需求场合中啊,也是能够遇到的,那么咱们这个视频主要是重点去给大家去阐述一下,对吧,我们如何实现一个啊对吧,多次点击。嗯,和以往的视频一样啊,咱们这里呢,也给大家去梳理这梳理一个文档。我们先看一下文档。嗯,本次视频呢,呃,也是基于这个API13级以上啊,嗯,重点给大家去概述一下啊,我们如何使用Apple Apple.
01:06
数,然后呃这个对象,然后是去实现我们的一个,呃,多次点击呀,或者说多次点击等。那最后呢,再给大家呃,简单的给大家去,呃总结一下。嗯,其实我们大家都知道对吧,我们每一个组件呢,都有除了都有很多通用的属性啊,你比如说宽很高对吧,内边距啊外边距等等,那么除了这些通用的属性之外呢,呃,每个组件呢,也有很多通用的事件,你比如说哎焦点时间。对吧,再比如说它是一个触屏事件,再比如说最常见的就是什么,哎,点击事件等等,那么咱们那最熟悉的什么,对于这些事件肯定是一个点击事件,对吧?啊,我们直接给呃一个组件去设置它的一个啊。Click这个方法即可来,我们在呃代码里面给大家去实去实现一下啊。
02:05
OK, 嗯。啊,这里呢,我们给它改为一个容器组件克隆,然后去里面去实现一个。But.点击。我们给他一个点击事件,就是on click.这种情情况下呢,哎,我们就实现了一个点击事件。啊,我们让我们这个巴特呢。记住。还有一个。贾斯汀container。来,The center.OK, 我们在这个点击事件里面给他打印一个,打印一个日志啊。
03:06
哎,我们去运行一下。好,已经运行了,我们看一下效果。当我们点击这个button,也就是这个按钮的时候呢,肯定会在日日日控制台里面去输出一个点击事件,我们看有没有输出。对吧,这就是很简单的,呃,一个点击事件,那么这个点击事件呢。它怎么着?不,它是应用于我们的很多组件里面,也就是说这个是一个通用事件。OK, 那除了这种的点击事件之外,我们还能想到通过使用什么别的方式来实现一个点击事件呢?啊,咱们大家想一想对吧,除了系统自带的这个点击事件,我们还能够通过啊一个别的什么方法能够实现我们点击事件呢?
04:03
哎,想必大家肯定能够想到什么,对吧。对吧,通过走势啊,我们也能够实现一个什么点击事件。来。我们这里呢,呃,把这个点击事件给他。注释掉。去实现它一个什么手势,也就是on touch on touch.给我们返回了一个是H文。然后我们在这里呢,判断一下。如果说你的event。太好了。恒等一个。Touch.Apple点。这这是一个手指按下。手指按下啊,我们就可以认为它是一个什么呃事件,当然这里你也可以什么手指抬起的时候,作为一个事件,一般情况下呢,我们都会以手指按下,哎,作为一个呃事件来我们。
05:13
这里给大家打印一下来,我们去运行一下,看看效果和我们点击事件有什么区别没有。好,已经运行起来了,来我们看一下效果。嗯,可以发现怎么着对吧,和咱们的一个安克林格事件是一样的,同样也实现了我一个我们的什么点击事件,对吧?OK, 这是以上我们通过对吧系统自带的一个事件onling格,或者说通过我们的一个什么untouch,我们自定的一个手势来实现,来实现了一个什么我们的一个。我们的一个事件,呃,那么除了这两种之外。
06:02
对吧,我们还有没有一种其他的方式来实现一个我们的点击事件呢?哎,这就是我们今天要讲的一个重点,也就是我们的一个什么点击手势。对吧,来我们先看一下文档。好,点击手势哎,Type, 哎,Text处对吧,通过它我们实现了一个我们的点击手势,点击事件,不仅仅可以通过实现点击事件,而且还可以实现一个什么多次点击事件,它里面有一个呃参数啊,就是typeur,哎,Parameters对吧?呃。它对吧,不仅仅可以实现点击效果,而且可以实现双击啊,多击啊,对吧,它只有一个对象参数,就是一个table je.Parameters对吧,里面有三个可以选择的参数,1第一个是count counter呢就是什么呃。
07:07
识别我们的连续点点击次数对吧,你比如说你设置几次设置双击啊,就是设置为2是为3呢,就是三次点击,当然如果说这里你设置的是小于1或者不设置时,会被转化成默认值对吧,默认值就是啊一次。第二个就是fingers。那么这个呢,主要是触发点击的手指数对吧?呃,你是两指进行点击啊,或者说你是3指进行点击,或者说进行4指等等,那么第三个参数呢,就是distance I.Three o的,那么这个呢,就是点击手势的一个阀门,当设置值小于等于0或不设置会被转化成一个呃,默认值,那一般情况下呢,我们用的最多的就是一个count,当然如果说你想实现一个多值,那么我们进而第二个参数就是fingers OK, 那么使用我们的这个table,哎。
08:05
Je处,那么支付对象必须要进行绑定实验,那么这里呢,我们进行的是呃,这里我们是使用的是一个是je处进行绑定,并通过一个啊action,然后进行触发的一个事件,OK, 那么我们简单的哎去实现一下用代码。好,这以上呢,我们是通过对吧,On click实现了一个点击时间,通过一个ontouch实现一个点击时间,哎,我们再通过。Gesture.通过它,然后去绑定的一个我们的一个什么type,摘出这个对象对不对,它是通过是直接去传入我们这个type。Types okay.
09:01
OK, 它里面有三个我们所需要的参数,对吧,比如说是你的hunt啊,对吧,还有你的fingers啊,或者是你的distance stress old的对吧?这里呢,我们什么也不传,我们先给他一个默认的OK。哎,我们去实现一个什么啊。X.来,嗯,我们去。打印一下。来。氢氧化钠。对吧,和咱们以上两种方式是一样的,同样的,哎,我们也能够实现一个点击试验,它默认的情况下,它的抗呢,就是唯一就是一个很普通的一个什么啊,一个点击事件,嗯,那么这种情况呢,哎,咱们再去实现一个什么一个双击,来我们看一下效果。
10:09
双击的话,我们就要传什么,传一个我们的一个count,比如说等于2。等于2。来。咱们再去。这是一个双击时。哎,再去运行一下。来,我们看下效果。啊,我们去点击一次对吧,当你点击一次的时候呢,它不会进行触发,因为你的最小的一个触发的次数是为二,一个点击两次才会进行触发,来我们去放弃。对吧,看双击只有在你双击的时候呢,才会触发这个事件,嗯,这里呢,On action呢,它会给咱们返回一个是哎。
11:04
呃,返回一个是just true event这个事件。对吧,当然我们可以啊,我们这里呢,可以对这个疑问的事件进行判断啊,如果这个疑文的事件它。不为呢,就是就是存在,我们可以去执行,当然这里一般情况下呢,它是必须是存在的,我们可以不进行判断,当然我们可以,我们可以去发现官网啊,官网会对我们这个疑问的事件作为一个判断,呃,是防止这个事件呢,呃,它不存在,当然这里呢,我们也可以进行判断一下。就是你这个疑问的事件必须存正的情况下呢,我们再去执行我们的这个事件。OK, 这是我们的一个双击,当然了,你也可以去去实验一个什么的,三次点击或者说四次点击来我们呃,三三次点记,我们再去看一下。
12:04
看我点击一次也不行对吧,两次也不行,必须得3次点击。看。必须你连续点击三次才会去执行这个事件,所以说通过这个counter就可以控制我们你想要实现的一个几次点击事件啊,相对来说还是比较简单的,那么除此之外呢,它还有一个还有另外两个属性,那么第二个属性就是一个什么。Fingers对吧,它是控制一个什么,控制了一个我们的一个多值的,也就是说你想实现对吧,呃极止,然后触发我们这个事件。对吧,默认情况下它是一个一指。啊,这里呢,呃,我们实现一个双击吧,就是两指双击点击。呃,这里呢,给大家去说一下啊,目前来说咱们演示呢,都是通过什么,通过模拟器的,呃,尽量尽量大家通过通过什么。
13:08
通过真机啊,因为模拟器来说我们对吧,无法去实现我们一个是多值啊,你看模拟器的话,我们只能实现一个什么。单指的一个情况啊。就是模拟器,它这个无法实现我们一个双指,所以说我们需要运行到我们真机上,呃,才能够呃测试我们的一个多指的一个事件啊,反正大家记住这个参数它就行了,就是fingers,就是来控制我们的一个呃多指的一个一个操作,OK, 嗯。这个文档啊,也给也给大家去说明了一下,嗯。对吧,如何去实现一个多次点击,通过count对吧,我们通过count呢,实现一个点击效果,嗯,这里呢,我们可以复制更多的时候来实现我们一个多次点击,需要注意的是。
14:01
真的这里呢,有一个注意事项大家呃需要去看一下,第一个就是当配置多次点击时。上一次的最后一根手指抬起和下一次的第一根手指按下的超时时间。为300mm,也也也也也就是说什么呢?如果说对吧,你第一次点击和第二次点击相隔的时间等于300。那么它只会触发你的一次点击。对吧。一一一次点击,也就是说咱们刚才去验证的时候,其实大家可以发现啊。啊,现在是两次点击对吧,呃,我把这个手指这个先去。去掉。运营一下。OK, 来,咱们去看一下。
15:05
对吧。在3秒300ms之内呢,我们能够实现这个双子点击,如果说你看我点击一次OK,我等了一会儿对吧,我再去点击,你会发现怎么着。这个事件呢,它是无法去执行的,这是因为你下一次的点击与上一次的点击怎么着。太长了,间隔太长了,也也就是说大于300ms了,所以说它这个事件呢,就不能够实现了,所以说咱们在实现多值的时候呢,它是有一个300ms的一个时间。差的,也就是说必须在300mg毫秒之内我们实现这个事件。对吧,才能实现我们的一个多次点击OK这一点呢,大家需要知道对吧。呃,第二个就是呢,上当上次点击的位置与当前点击的位置距离超过。
16:09
超过60VP时。手势则会识别失败,一般情况下呢,我们实现单击也好,我们实现多次点击也好,我们所点击的位置呢,肯定是在某一个点上,哪怕你这个点怎么着,往左往右往上往下有一点偏移,但是你这个偏移呢,不能够超过你的什么60VP。否则情况下呢,我们这个事件呢。也会去识别失败的。而这一点,这两个需要大家去注意,一个就是我们的一个时间间差,第二个就是我们的一个位置距离。对吧,那么在多指的情况下呢,点击的位置与所有手势响应位置的一个平均位置。
17:00
对吧,你多值对吧,一般来一般来说情况下呢,如果说你不出现怎么着。点完第一次,第二次,第二次手势滑动的效果。一般情况下。都不会触发,呃,我们这个错误啊,所以说在正常的情况下呢,呃,用户呢,他都会同一个呃位置对吧?呃一般来说小于300ms就是都进行触发的,嗯,一般情况下呢,呃。呃,都是正常的,对吧,哪有说对吧,我们我点击这个屏幕啊,点击第一次第二次突然对吧,第一次在左上角,第二次在右上角,这个显然嗯这种情况来说还是比较少见的,还是比较少见的,嗯基本上来说,嗯基本上来说,大部分都会在一个固定的点对吧,小于三方面去触发这个事件,这个来这个来说呢,基本上很少。
18:01
会呃,有这种对吧?啊,不正常的一些操作,嗯,下面的话是一个多值点击啊,多值点击的话,这个给大家说过了,对吧,咱们的一个模拟器呢,它不能模拟,必须得通过真机对吧,真机然后控制我们的一个多指,你是两指啊,或者说你是三指啊,通过我们的个是fingers这个参数来实现了一个我们的一个,呃。多值的一个点击啊,这个的话,嗯,需要我们在那个。模拟器在那个针机当中,然后去验证,嗯,需要注意的是呢,当我们在开发时配置多指时,呃,第一根手指按下300ms内,对吧?如果说没有足够的手指数按下,那么会造成手势识别失败,一般情况下,如果说你想要时间多指,那肯定两个指头怎么着同时去触摸这个屏幕的。对吧?呃,如果说你不同时触摸对吧,必须在300ms之内去连接上,比如说我第一个手指对吧,点了第二手指,快速的在300ms之内去触摸这个屏幕,才会去识别这个成功对吧?第二个就是当你手指抬起时,那么抬起后剩余的手指数。
19:17
应该小于。阀值时开启的计时,如果说300ms之内未全部抬起,也会造成我们的一个手势的一个识别失败,对吧,你比如说我对吧,我一开始我点一下,我用了两两支。手指当我抬起的时候呢,我只抬起一个,肯定会造成这个怎么呢,手势识别失败的,所以说这一点呃,一般情况下呢,我们在正常的操作中呢,也很少去犯这样的错误吧,一般来说你就双指嘛,对吧,我双指一起按下一起抬起对吧,很少会出现怎么着,我双指啊,我一双指按下一直一直一直啊抬起,那么这这种肯定会造成手指识别失败。
20:02
啊,最后呢,就是说呃,当实际点击的手指数超过配值时,那么。它会造成一个手指,呃才会呃,造成我们的一个手指识别一个成功,一般情况下呢,我们正常去操作这就行了,这是只是简单的给大家一个注意事项,大家做一个了解啊即可。嗯,基本上呢,我们这本次视频呢,就给大家去讲述到这里了,我们可以发现对吧?呃,通过typeb诶摘子这个点击手势在实际的开发中呢,更多的去用于一个什么装基,或者说多次点击,或者说是一个多值点击,对吧,如果说仅仅是一个单基。其实大家完全可以使用什么方link即可。当然这里有一个问题啊,就是呃,我们通过该出,我们通过这个get出对吧,绑定了手势之后,同样实现了按可令的方法,那么两个点击实间会怎么执行,是直走uncle的还是直走G处,还是两个都会走呢?那么当然这个作为一个问题啊,然后抛给大家让后大家去。
21:12
呃,想一想对吧,到底。两个都会走还是只走一个行,咱们本次视频就到这里啊,非常感谢大家。
我来说两句