2 j550341130 j550341130 于 2015.07.07 10:49 提问

Android 屏蔽菜单键 无效

网上找的代码不起作用:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if (keyCode == KeyEvent.KEYCODE_MENU) 
            return true;
        return super.onKeyDown(keyCode, event);
    }

其实我的问题是这样:我在ActionBar里定义了overflow,如果之前点了menu键,后面添加某项的时候就会显示在menu的菜单中,overflow中的菜单里不会出现新的项;如果之前没点menu键,新的项就会出现在overflow中。我不明白为什么两个菜单会不同步,所以打算将menu键屏蔽掉

4个回答

Arnold9009
Arnold9009   2015.07.07 14:00
已采纳

重载dispatchKeyEvent试试

j550341130
j550341130 可以啦,非常感谢.@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.KEYCODE_MENU) { return true; } return false; }
2 年多之前 回复
j550341130
j550341130 我是这样写的:@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.KEYCODE_MENU ) { return true;// 返回true,把事件消费掉,不会继续调用onBackPressed } return super.dispatchKeyEvent(event); }
2 年多之前 回复
j550341130
j550341130 还是不行呢
2 年多之前 回复
u014294325
u014294325   2015.07.07 12:56

http://bbs.csdn.net/topics/390396775

看看是否有帮助

j550341130
j550341130 这个是屏蔽home~
2 年多之前 回复
u014294325
u014294325   2015.07.07 12:58

如果能想办法监听到然后让它不做任何事 就等于屏蔽了

Arnold9009
Arnold9009   2015.07.07 14:59

menu菜单和overflow的应该是一个东西
也许这个对你有帮助:http://stackoverflow.com/questions/20444596/how-to-force-action-bar-overflow-icon-to-show

j550341130
j550341130 我刚才用您说的方法改了之后,点menu键和overflow弹的是一样的了,没改之前是不同的菜单
2 年多之前 回复
j550341130
j550341130 嗯嗯,我瞅瞅,谢谢哈
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片