00:00
下面我们来看另外一个。就是上下文菜单。三线文菜单呢,来看这里啊,我们要实现的效果是。长按这一个button。它就能显示中间的这样一个添加和删除的这样一个菜单。嗯。好在这里面呢,我们也分别是通过这样三个问题来去看,嗯。我们这三个问题了,把它拿过来啊。下面呢,我们来看一下啊context menu在这里写一下啊。来context menu啊,还是一样,第一个问题,如何触发的问题。对吧。在这个里面刚才已经说过了,我们要长按某一个视图才能去触发啊。长按。
01:00
某个视图。好,在这里面它有一个特别的地方给大家说一下。你要想实现长按某一个菜单来触发这样一个上下文的菜单的话,需要去给视图对象设置一个监听。而我们现在大家看这个数对象当前是谁呀。是哪个?是不是这个八痕啊,对吧。那我就要在八身上去设置这个简体吧。好了,来试试。我们来设置一下,看看行不行啊。那我得找到这个八呢。没问题吧,找到那个button来看一下,找一下就是这个button。
02:00
给他第一印象。好了,先要给他出12。Find of youd.D点。来下面就是。设置创建。上下文菜单的监听。看它怎么设置。首先肯定是on对吧,On什么。创建怎么说?是不是他呀。嗯,好,这时候是不是要传一个监听器对象呢。看到我,我写什么呢?我写个this。诶,这里面非常奇怪,跟以前不太一样。以前都报错,这一次不报错。为什么不报错了?
03:01
大家就要想这个问题啊,为什么不要做。那就看了,你想想看this符发错说明this是不是这个接口类型啊。那说明当前的类已经实现了这个结果吧?大家看啊,那我怎么样看呢。嗯。在这个里面,我得看一下activity是不是已经实现了这个监听呢?是不是已经实现了?而我现在做的是不是去重写这个方法就可以?对吧,Create context。用来去创建。啊,其实menu已经创建了,只需要往menu里面放什么。是I呀。啊,放item就可以好了,来试试。啊,这个做好以后呢,下面我们去重写一个方法叫on。
04:03
C。Context的。Menu。是这样的吧,好啦。来,我们来看一下啊,在这个时候menu已经有了,我们要想显示现在的这个效果,需要做一个什么事情?很简单,添加两个item就可以。对吧,而添加的方式呢,其实跟我们刚开始那个差不多,你看menu.add。是不是有有一样的方法。看到了吗?这个line周学姐。零对吧,刚才说过了这个呢。连这到这一次我们跟他不一样,我写个一好,这个呢,刚才叫什么呢,添加。可以了吧,好,下面还来一个,这个不能写一一了,这个可以写四啊,有些人就是写四就写四吧。
05:01
好,下面这一个删除。可以了吧,这样就能显示出来啊,添加菜单项。那我们先来看一下,看看先行不行。出来了,来。长按。是不是出来了。啊,出来以后下一个要做的事情。就是我选择某一个item是不是有响应呢。嗯,就这个呗,对吧,现在没有响应,所以我们不知道啊,这个地方来刚才已经看到了。在这个里面啊,如何来触发,要显示长按长按某一个视图,长按某,同时你要给视图去设置一个on create contact的meualer,传一个什么。
06:05
什么什么呀啊,接着第二步啊,看第二问啊,如何去向它里面去添加item。刚才我是不是传了这样一个监听呢?我实际上传的是什么,This。传历史的时候重写谁?On create contact的,你没发现他们的方法都很类似吗?看到了吧,一个是。呃,Option menu一个什么context menu啊,其他都差不多。好,下面一个第三步啊,重写它并添加啊,我们这一次呢,就用第一种方式得了,我们就用第一种方式,第二种方式我们就不用了啊。我们就用这种方式去添加。嗯,好了,下面一个第三个。
07:02
选择某一个item如何响应,我就根据这个。这个规律你去想,我这个地方把它改成什么。啊。是不是改成contact,是不是有点细,对吧,我们来看一下看是不是啊大家看到。我们来试一下。On。Contact的。是不是就这个。第一个吧。不就他吗?是有一定的对应关系的啊,重写这个方法,嗯。嗯,根据item ID。多想你吧,那。看看这里面怎么写。跟前面其实很类似的一个情况,哎,看到。把这里面的case拿过来。
08:03
觉得我需要进行一定的修改。就看谁。是不是就是这个值啊,啊,首先是一再一个呢是。可以了吧,这个不要了,嗯。别的没什么变动吧。好,我们来看一下,看看行不行啊。走。走。来试一下,长按。点击。是不是添加呀,长按。点击。删除。但现在很多菜单为什么不选择这样一种方式呢?就很多现在大家看到QQQQ他们的菜单是什么样子的知道吧。就是在左右,尤其是开始需要你向左滑动的时候才能打开才能。那里面有有删除有置顶,大家不知道有人玩过没有。
09:03
啊。它的菜单是是不是开始是隐藏那个item里面的,对吧,隐藏着了。就开始了,你看到的是当前的数据,当你向左滑动的时候呢,那个菜单呢就出来了。就从右向左是吧。出来。嗯,出来以后呢,你再操作,你说他为什么要换成这种方式,而不换成长按的方式啊。这个体验你就你就去想长按的方式和和这个还的方式差距在哪。效率就是你操作的一个时间长短,就你长按的话,你是不是一直按着啊,你也不知道什么时候它会出来。你心里嘛,就怎么我得一直按着才我我说为了保证他出来,我我的脑子,我的心里一想着,必须一直按着吧。对吧,等他出了哦,我才知道给他松开。对吧,他要不出来。
10:01
那你觉得我还没做到位。对吧,我得再按一回。这个用户的心理体验和那个操作的时间都要长一些。对吧,那如果你滑动,你滑动一丁点,是不是就隐约能看到那一部分了呀。现在很多功能基本上都做成了什么?啥都能供。像那个比较近比较典型的那些一个应用的总体的菜单,大家知道那些一些很多客户端都是侧滑的菜单。有见过吗?上面是不是有一个按钮,我还可以打开关闭,同时你按住那个边缘部分向右滑动一下就可以打开。它是有很多功能隐藏在那个菜单里面吗。有吗?包括QQQQ跟那个有点不太一样,QQ它是什么呀?它是从右下角。向上面啊,整个的进行滑动啊,滑动以后呢,留出这样一部分来。
11:00
大家可以看,如果你有手机可以打开看一下。这一部分它会不但它会缩小一点啊。在右右边和这边都可以操作。都有,都有选项,一些一些操作选项,一些功能选项。大家可以可以试着操作一下,这要不了多长时间,也不用联网什么的。但是这两种基本菜单大家还是要会做,一个是option menu啊,一个是context menu。
我来说两句