这是第一种,将弹窗放在屏幕中间,
演示过程
ctx—btn是你即将点击的按钮的id
这个代码实现的是上面的功能,中间的白色的部分是重新创建一个menu的内容,而下面set的那个是所要点击textview的id,下面的id是重新创建的menu的id,长时间点击就会出现这种效果
第二种,就是将弹窗覆盖到最上方,
过程
这是第一个
实例化startActionMode.CallBack,然后就会跳出下面的四个方法
下面的第一个方法创建在启动上下文操作模式,调用startActionMdde()方法,里面传入回调对象CallBack,这个不需要我们操作,在这一个方法里面需要配置上下文菜单的配置,下文的context代表着这个上下文菜单的名称id,log.d代表在控制台输出“创建”,而后需要把return返回语句改为true,否则无法实现
这第二个方法是准备模式,一般调用创建方法后就直接被调用,,但一般我们没有过多使用,就直接能个log.d就行
第三个方法代表菜单项被点击,可以使用
MenuItem 这个参数来调用菜单的id,而this因为在内部类中,所以改为MainActivity.this,最后还有return返回值改为true
这是第四种方法,结束时被调用
这是第二个
对按钮的长按模式进行一下指令,然后通过startActionMode()方法,启动上下文操作,然后将回调对象传进去,即