欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android MenuItem 自定义长按事件的实现

时间:2020-12-05 11:59:31|栏目:Android代码|点击:

会出现一个Toast来提示Menu的名字,比如下图的更多。


有的时候我们不需要这个Toast,或者说长按MenuItem的时候需要做一些其他的事情,该怎么办呢?

实现过程

首先我们先获取该MenuItem的View:

View menu_more = findViewById(R.id.menu_more); 

然后给它设置一个长按监听器:

menu_more.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
          // TODO: Implement this method
          return true;
        }
      });

在这个监听器中什么也不做,你会发现,长按MenuItem的Toast消失了!这时,长按还会有一个短振动,如果不需要振动,可以更改上方代码中return true;为return false;就可以了。当然,如果你有别的需求,都可以在监听器中实现。

注意事项

获取MenuItem的View需要在Menu创建之后才能获取,因此我们不能把代码写在onCreate()方法中,需要写在
onCreateOptionsMenu()方法中。另外,这段代码要放到新线程中处理才会生效。

相关代码

MainActivity相关代码:

@Override
  public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater=getMenuInflater();
    inflater.inflate(R.menu.menu_main,menu);
    new Handler().post(new Runnable(){
        @Override
        public void run(){
          View menu_more=findViewById(R.id.menu_more);
          menu_more.setOnLongClickListener(new View.OnLongClickListener(){
              @Override
              public boolean onLongClick(View v){
                // TODO: Implement this method
                return true;
              }
            });
        }
      });
    return true;
  }

上一篇:Android上传文件到服务端并显示进度条

栏    目:Android代码

下一篇:android开发教程之判断是手机还是平板的方法

本文标题:Android MenuItem 自定义长按事件的实现

本文地址:http://www.codeinn.net/misctech/29529.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有