00:00
接下来我们要讲什么呢?我们接下来就要实现我们这样的一个效果,就是说我去点外面这个按钮的时候,我要让外面的这第最后。最外面这个圆环,我们把它暂时叫做圆环,让它来去做一个什么旋转动画,那再一点再旋转就可以看得见了。对吧,作这样的效果,它其旋转是一整块旋转了,只是我们看得见的只有这部分而已,是把这个矩形图片一整体旋转了,好那么呢,我们去做这样的一些。懂画,那么要想做这个事情是要一会儿我们要还要做它。那么还要做什么,它那是要把是最好把所有的都实体画一下,这个实体画,这个实体画,这个实体画这里实画,这个实体画总共有五个好,我们分别把它给实体画出来。来到我们的这个。
01:01
功能清单文件好,来到我们的这个这个里面,好,我分别把它给实现一下。首先。我们呢,把这个。把它给画一下。好把它给这个image image解什么image you对吧?好,然后接下来这里面也是有一个面积六,这里面有没在哪里呢?是里面就是在这里的。没有预览,其实刷新一下就可以了,是吧,点着。我们最好的,呃,用这个地方预览,你点的话才知道。啊,还有点大了,把那个缩小一点。好,那这个时候呢。点击这。这好,这个哥们呢,要把它给实例化。
02:03
我们看看。我们把它给放大。这个磁力话。没没有替换吗。第几个看看。就是二的。求他呗,是吧,但这个ID没有写是吧,好,那么ID呢,没有写,把它给写上。是吧,好,那这时候呢,再把这个呢例画。把先定出来。好,那有的客户分别把我们的。这部分那么一把那个实例画一下。好,它是一个什么相对对吧,好然后总共有几个二三好,那实例化比较简单,好那快捷键是FBI,你们同学们的是FBI,我设置的MMBC啊一样的。
03:09
对吧,是一样的吧,啊,这无所谓啊,这是个FBC啊,我设置的可能和大家不一样。WBC。这个的话呢。好,FBC。这个呢,把它给复制一下BC。好,那么刚才我们说这个事情就把这十的话,应该所有同学都没问题吧,对吧?好,那么这个时候有了过后,我们接下来要做的事情就设置点击事件对吧?设置点击事件,那设置哪两个的点击事件呢。这个的点和这个的点击事件对吧?好,所以呢,我们把它给设置点击事件好点事件,那这个点击事件的话,我们可以让当前类去实现我们点击事件是也可以自己定一个点击事件呢啊两种方式都可以啊,比如说我们自己选一个类啊,那么实现我们的这个啊,实现我们的接口,然后呢在里面。
04:16
把包倒一下好,这是倒谁呀?第二个第二个是吧,然后把里面的方法再找一下。好,点击OK,那这个时候首写一个什么笔记,除了笔记还有其他笔记可以吗?If是吧,If还可以。然后在我地方里面case,然后r.ID我们的I。的一个空是吧,然后把它给复制过来。这个嘞。Many。那这个是这个呢,其实就是我们的这个菜单对吧,菜单这个呢,是我们的后。
05:09
好,那么在我们这个地方里面有了过后呢,注意把这哥们呢。录一下。好,是它们俩可以共用一个什么问题吧,好,那接下来menu也去用这个,所以我们的don click是吧,好,这时候这用上了吧。好,那接下来我们怎么做呢?好,这个是我要去做这个一点,让它去旋转,那么也就是说我们这个是要操作的,是是这样。是外面的第三个环呐,好,那这个时候它是有显示和隐藏的两种状态啊,那这个时候呢,我去定义一个状态。好玻,然后一秀好秀秀什么呢?那么三默认是默认,我们是显示的对吧?好,那么也就是说是否。
06:15
显示我们的这个。是否显示我们的这个啊,第三。这个圆环对吧,第三个圆环,那么就是什么显示force就是什么隐藏。对吧。好。是这样吗?用的就是隐藏,那么注意其其他地方,我们其实也需要,你看我点隐藏是全部隐藏啊,是也要隐藏显示,所以的话呢,我们把三个都显示出来。
07:01
三个都显定义出来,好,那这个呢,就是第二个,那这就是我们的对第二个圆环,那这个是第一个。对吧,这个呢是第一个。对不对,好,那么呢,就选出来了,那接下来我们当去点击这里的时候。那这个是I com谬是吧,好,我们找找I康缪是这里,好,我这时候就判断了。如果我们的第三个圆环它是显示的,我就让它隐藏,并且把这根把它设为false隐藏状态,如果视为隐藏的,我就帮他显示,并且把这个们设为to啊,是这样的。好,那么这个时候,那么隐藏过后,那就是我们针对代码去隐藏吧,好,我们用选个工具。
08:03
就是啊,就是就工工具叫to two o是点隐藏,就是我们K的,那要隐藏谁呢?隐藏三是隐藏它。那K等于那么有隐藏就也就显示吧,好这时候呢,就是秀。那注意了,像这个类明明都没有啊是吧,那是我们在显尾代码,这为了思维的轮就行,思维的连贯性是不是把它先定义出来对不对,这没关系的,知道吧,没那这个类没有,那我们接下来把这个类给串联出来。好好,这时呢,提示让我们创建一个类是吧。打算出来好这个类的作用干嘛嘞,就是显示,就是显示和隐藏我们的指定的空间对吧?好,那这里面还报错,是不是又可以把它串出来,好把它给串出来。
09:12
那这时候呢,我们先改成这个就。好,那么这里面还有。显示。好好,那在这个地方里面。有了过后,好,这时候就可以了,那么大家想一想,当我们一隐藏的时候,我们要做什么事情呢?一点是旋转的好,那所以在这里面做一个旋转,对吧,旋转。旋转动画吧,RA,然后又一个旋转动画。好,那这个旋转动画的话,那这时候注意旋转动画么个时候从哪地旋转是个圆地方里面的话呢,我就去把它定义了。
10:07
在我们这个地方里面的话呢,从零度。旋转到多少度啊,一百八对吧,180,然后旋转中心点是在哪里呢。旋转中心点是在这里啊,那也就是说这个地方里面大家想一想。这个该怎么算呢?那也就是说旋转的话,那么相相对于他自己对不对,那这个时候我们这个时候的话就是要这里。旋转中心是这里吧,那这个里面是要记是不是这一段距离要求出来就是X啊,好,这一段是Y啊。是不是X等于空间的。宽的就是一半吧,这个得到空间的宽一半,这个是等于总是空间的高吧,这没问题吧,好,那也就是说我们这个地方里面呢,有一个图大家可以看一下。
11:11
在这里面的话呢。啊,旋转的话。也就是我们呢,旋转是与相对于它自可旋转对不对,所以的话呢,以这个矩形为准,那假如说他们是这个I边的这个是圆点,那么这个就是。这整个是空间的宽吧,一半是等于,相当于是空间的宽除上二,那这一部分空间的高,那也就是说X等于这个,Y等于这个,所以就可以了。然后呢,这个我们系统默认是顺时旋转的,对不对,旋转加隐藏就实现这样的效果了,从零旋转到180度。然后如果显示的话,就从一百八到三百三百六。这里就显示零到180,然后这个旋转过来就是方圆。就是一百八旋转三百六什么问题吧,而且因为以这个为旋转,所以它是看不进去的,对吧,注意它旋转的时候,其实旋转上面这个圆圆环吧,这下面这部分是没有没有没旋转了啊,只是说呢,这个实行这样的一个效果啊旋转。
12:17
就是说只是这个旋转,只是我们在截图的时候呢,截了所有的,其实只是什么外面这个圆环旋转,这里面没有旋转对不对。好,那这个时候我们就要去做这样的一个事情了。好,那在我们这个地方里面的话呢,我们就要去定我们的这个坐标,好大家看一下这里面有几个构造方法呀,1234,大家看一下我们写的坐标是就是个坐标啊,好,这是坐标,然后在这个地方里面,这是旋转类型,是不是以中心为准,用它用它呀,但我们用的哪个应该是第几个,第三个吧。好,第三个啊。好,那么其实这个空间默认旋转是以相对于相对于自己知道吧,相对于自己,所以的话呢,后面这些相对于谁就不用设置了,就是相对于自己,那所以这个地方里面我们用设置坐标就可以了,得到它X是多少宽,除上多少二。
13:16
是吧,然后Y是等于多少高,这就可以了,好,那也就是我们Q的宽啊,这是宽,这是高,那也就是这是宽X。这是Y明白了,旋转中心就与它明白了吧,那旋转是外面这个圆环,大家一定要注意。好,那么温和动画我们是都要有一个什么,要有一个时间吧,如果时间很快,我们是看不见的。对吧,假如子弹。他慢我们其实看得见,只是子弹太快我们看不到是吧,如果我们有一种本领,就是让子弹挥一缓,这是我们是看得到的,对不对。
14:01
就是那种那种战争片那种枪嘛的,就子弹都飞过来,是不是他的慢镜头啊,他其实呢,就是看得到子弹这个过程,它其实就是一个动画对不对,但是如果是动瞬间,那你就看不见的,所以我们一定要设置一个动画的持续的时间,是等我们的啊啊500毫秒就可以了,那动画播放过后,我们希望他停留后,停留后看不见这种状态。那这个时候呢,就是这个参数set,我们的filter after,为什么to,这个就是动画停留在播放完成的什么状态对吧?好或者位置对吧,好设置动画啊,动画播放持续的时间。是吧,持续我们的500毫秒内把它播放完。执行完,如果瞬间就执行,你是看不见的,对不对,第一个参数开始旋转角度,旋转到哪个角度,然后呢,这一次我们的X坐标Y轴坐标对吧,这没问题吧,那接下来就把这个动画开始什么启动好start。
15:18
啊,Admision对吧。出去。那这样的话呢,就可以实现我们的隐藏了。那么隐藏有的是我们显示啊,显示就比较简单一样的。只是说这里面从多少180~360。对吧?好,那这些坐标变吗?不变好,我们去运行起来,给在座各位同学看看我们的劳动成果。好运起来。我们去运行起来啊,应该是是40.2兆的模拟器上。啊,这个的话呢。好,我们给大家看一下一点。
16:02
一点显示隐藏是可以了,搞定了,那接下来我们做一个什么功能呢?就是点击这让它两个隐藏和显示,就是5.1这样的效果啊,这个这个的。啊,这样的效果看好啊,我点我点这里。嗯,点这之前是做这这个功能做了对吧,现在点这是双双隐藏双双显示啊,但显示时只有显示一个了。对不对,好大家看啊,这点状态一点隐藏,两个隐藏,但是显示只显示。这哎,就是二级菜单了,就是第二个圆环了,对吧,好,那么这个时候我们就要去再去在这里面。去做这个处理啊,是跑到这里来了,这里来了,好在这边我们就这样的一个功能,就是如果三级菜单啊,我们把最外面那个圆环叫三级菜单,或者是第三个圆环,对吧,和二级菜单。
17:02
啊,是。显示的,那么都什么设置隐藏,那么如果都是隐藏的,就二级什么菜单显示就可以,对不对,简单吧,好。那接下来我就做这样的一个判断了。首先判断。我们的,当我们在做这个事情的时候呢,先去判断我们的二级菜单。那如果它是显示的,我就让其隐藏好,那隐藏是吧,如果。如果他是。隐藏的,我就让它显示。就是显示。
18:00
显示二级菜单,这个呢,隐藏二级菜单好,那么这个地方里面好,那如果他是三级菜单。三级菜单,注意,三级菜单就是谁。这块你看我就是要做的事情,就是如果是把这个这个都要去判断,如果三级菜单,如果是显示,我也要把它给隐藏,隐藏3D菜单。菜单,那么隐藏上一菜单。是不就可以了,那么我们现菜单还显示吗?不显示了对不对,那这时候我们就分别去调用这个方法,好,那这时候隐藏三级菜单。这样是隐藏啦,然后接下来隐藏二级菜单。
19:00
把它设置为多少啊好,显示始终做啊好,这时候显示怎么做呢?就改为多少二二对吧,其实这个代码其实就是我们。所讲的如果都是隐藏,就H30显示,就就把这个显示就可以了。对吧。好,那么去运行起来看看。一起来看看。好拎起来大家看一下,我们这地方里面的话呢,我们现在。现在去点击。是确实可以了,但是有一个问题就是这哥们你看是齐刷刷的呀,那也就是说其实我们可以在测试动画里可以做这样的事情,那某一个动画延迟就可以了,也就是说我们让,比如说我们让外最外面的动画它播放。把厚一点是就可以了,那把厚一点怎么做呢?其实就是让他隐藏的时候,让这哥们313隐把厚一点啊。
20:05
当我们三枪能把后一点好,那把后多少呢?把后两把毫秒。那么这个方法是没有啊,把它给创建出来。创建这个方法出来,那这个方法出来过后呢,在我们地方里面。View。好,那这个呢,其实也是一个是吧,好,那么我们。这个时候呢,要去做这个事情了,那么也是隐藏对吧,那我们就把这个隐藏代码拷贝过来。拷贝过来过后,大家注意了,拷贝过后这个时候呢,有这个动画可以延迟多长时间去执行,它有一个叫start。知道吧。然后。这话呢,我们也可以就是它是一个什么问题啊弄的。对吧,那么这个。
21:00
就他对吧,那那如果是硬的类型,那重新弄去演示也可以啊好,那这个就是延迟多久后这个播放动画这意思。是不是啊,那有了后,同学们在我们这个地方里面,我们其实可以完全可以这样。这个代码你看是不是完全可以重用啊,你当然是拷贝过来,那么也就是说我们是可以在这里面去调。这个方法从预进去,然后从个零进去,就是说因为你这里没有参数,默认零是就跟着跟这个等价了,所以干掉这没问题吧,你看这样的话呢,以后你调这个方法也满足,就是默认零就不延时立刻播放呗,但这个你如果调这个方法的时候。就是延迟对不对,所以这样的话,是不是就代码就简洁一点了,好我们再去运行起来。
22:00
给大家看一下。然后大家可以看一下,现在我去点这个。看到没有,这样就很好了。对吧,这样的一个事情。然后有了过后呢,在我们这个地方里面,同学们,接下来我还要做一个功能,就是当我们去点击这个的时候,让它隐藏显示。点这个地方隐藏显示,这个地方隐藏显示很简单对吧,但是我要想点击哪里呢。这里。大家看好,我点这个地方点谬键。那个隐藏显示。是吧?这个是如果第一次进来是有三级的,是全部隐藏啊,再显示是是显示二级了。好,那么要做这个功能,要监听这个物理键吧。这物理键大家有监听过吗?监听过对吧?好,那么在我们这个地方里面的话呢,我们就要去做这个事情了。
23:00
好。那么我们要去做这个事情对吧?好,这个时候的话呢,我们就要去做这个事情,就是on OK,当是不是可以啊,然后我们就判断了衣可以扣等于key,它这里面谬。给的一个。件。没有没有。口罩。M。是不是好,那注意要把它什么一定为多少好,那么在我们这地方里面,如果我们。按这个的时候,我们要判断,如果三这个一级二级三级菜单。
24:09
是显示对就什么全部隐藏吧,那么如果这个我们的,如果我们的二级啊,就是一级了,一级二级菜单。四。隐藏的就什么显示就只显示这两个了吗?好这个时候我们怎么做呢?If判断了,好这时候我们先判断逆菜单。然后如果它显示。就把他设备隐藏。对吧,好,那么呢,如果他。隐藏就显示显示一级菜单,把它设置为多少,就一会要真正去实现。
25:06
好,就这样。停的过来。那么同样。一秀二级菜单。而二级菜单如果它是。它是显示的,我们是隐藏二级菜单了,同样如果一秀三级菜单它是显示的,我们就。这哥们呢?隐藏三级菜单,把它设置为多少,注意我们现在显示就是二级菜单,要也要显示啊。显示二级财产,把它视为我们的two,大家一定要注意一点,就是这个要返回two,知道吧。
26:01
好,反正就就是特别大。这个在这里面,就是说在这个大括号里面要返回to,就是你已经处理这种情况了嘛。好,那接下来我们就挨个去实现了,这个地方里面。工具。那是隐藏。隐藏的话呢。这个时候我们要传一个啊一进去。那这个时候。就是隐藏多少。二那两百毫秒去做这种事情,因为它这里面有一个什么先后顺序,看到没有一点是不是啊。好,那这个时候呢。200毫秒,接下来三级菜单。就是400毫米,因为它这个是代码直径,这个代码直径基本上相差很时间极短吧,所以你这个时要试,有同学会说,哎,不是基于它的200后,而是什么同时就是同时执行它200后,它400后是刚好就相差。
27:07
相差200啊。好,这时候改为多少。然后显示就比较简单了,显示,那我们显示有一个先后顺序吗?看一下。是也有啊,好,那这哥们呢,就去秀。袖的话,我们level低,然后。秀一个我们呢也是200,但是这个方法有了吗?没有把那个什么创建出来。好,那么没有的话,那我们就要把这个溴的复制一下。然后这里面去设置一个延迟的播放了吧,好start start好,然后呢,这个参数我们。
28:07
Start of set对吧,用它比较好,把这个也改改对不对?好,那有的在我们地方里面,我们是可以秀这个方法是可以同用共用啊溴。这个时候可以传又过去,然后从一个什么零过去,那上面这个代码还需要吗?不需要了,这样的话呢,就共用了,对不对代码的重用。好,我们。注注意放在上面下面其实都可以啊,但是我们一般情况习惯放在什么上面都可以啊,好去运行起来。好,同学们,这个时候呢,我们就运起来。好,这个时候我去点。隐藏了吧,一点显示了一点,隐藏一点显示是不是照样可以,是不是可以了,很完美了,但是这个时候也会有一定的bug。
29:07
大家看好啊,隐藏了吧。神奇吧?大家看好。点赞。是不是为什么呀。就说这就是普通动画和属性动画的区别。如果是普通动画,它。移过去了,它的属性没有移一会没有属性的话可以解决。就是他属性没有一。知道吧,就是普通动画一会用水用动画可以解决,当然我们还可以用另外一种办法解决。就是。移过去。过后把所有的孩子。都把它不可点是不是可以啊,对不对,两种解决办法好了,同学们一会的话呢,我们用两种方法去解决,先把视频断一下啊,这是我们的代码的逻辑的一个处理。
我来说两句