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; }
大约 3 年之前 回复
j550341130
j550341130 我是这样写的:@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.KEYCODE_MENU ) { return true;// 返回true,把事件消费掉,不会继续调用onBackPressed } return super.dispatchKeyEvent(event); }
大约 3 年之前 回复
j550341130
j550341130 还是不行呢
大约 3 年之前 回复
u014294325
u014294325   2015.07.07 12:56

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

看看是否有帮助

j550341130
j550341130 这个是屏蔽home~
大约 3 年之前 回复
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弹的是一样的了,没改之前是不同的菜单
大约 3 年之前 回复
j550341130
j550341130 嗯嗯,我瞅瞅,谢谢哈
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android 屏蔽返回键、菜单键和Home键
//重写 public void onAttachedToWindow() {        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           super.onAttachedToWindow();     } 以上方法只针对2.3系统有效,但
Android中如何屏蔽长按MENU(菜单)键
如何屏蔽长按MENU键的效果 之所以想屏蔽是因为,在长按MENU键之后,直接按HOME键,这时候软键盘还是会显示在桌面,给用户造成不良好的视觉、体验效果 参照网上的、书上、高手们的,小弟总结了有以下几个方案解决这一不算大但令人纠结的Bug a) 在自己的Activity中重写onKeyDown方法 public boolean onKeyDown(int keyCode,
android 屏蔽Home键, 屏蔽BACK键,MENU键(亲自实践有效)
1.屏蔽Home键 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); } 2、拦截/屏蔽返回键、MENU键实现代码 @Override pu
Android 屏蔽home,菜单,返回键 解锁,加锁
Android 屏蔽home,菜单,返回键 解锁,加锁
Android屏蔽Home键、屏蔽下拉菜单最有效的办法(部分手机无效)
Android系统在之前是可以轻轻松松吧下拉菜单、Home键给屏蔽掉,但现在谷歌为了安全起见,还是做了改进,接下来咱们来看一下现在的做法吧! <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <!-- 屏蔽HOME键需要的权限 --> public static final int FLAG_HOME
android 虚拟菜单出不来的解决方法。
现在android手机好多都把实体菜单,主页,还有什么的 都取消了,放在了屏幕内承
屏蔽android的menu键,使menu键不能用,自定义menu键
在Activity中重写onKeyDown方法,Menu键被屏蔽但HOME键未被屏蔽,其中还HOME屏蔽在我的另外一篇博客中已详细介绍,下面来解决Menu键被屏蔽,让其中MENU键有效。 屏蔽android的menu键: @Override public boolean onPrepareOptionsMenu(Menu menu) { Log.i(TAG, "groupList.s
Android之最简单和靠谱的监听Home键和菜单键(最近任务栏)
1、介绍ACTION_CLOSE_SYSTEM_DIALOGS /** * Broadcast Action: This is broadcast when a user action should request a * temporary system dialog to dismiss. Some examples of temporary system
Android5.1 屏蔽下拉框以及屏蔽HOME键功能
这都是相对比较简单的都可以在framework层修改; 屏蔽下拉框: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java public PanelView selectPanelForTouch(MotionEvent touch) {
屏蔽系统的返回键
    在相应的 activity 加入:    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK &amp;amp;&amp;amp; event.getAction() == KeyEvent.ACTION_DOWN) {       ...