菜单可见时,Android处理按键事件

Pra*_*ham 7 android android-menu

这是我的问题.

我为我的应用程序覆盖了音量减小键,以便在长时间按下时执行某项特定任务,它正常工作正常.我可以拦截关键事件和关键事件.

关键侦听器事件是在特定的自定义组件中编写的,而不是在使用此组件的活动中编写的.

当我按下音量按下键时按下菜单按钮时出现问题,当我在显示菜单时释放它时,我无法拦截其按键事件.

你能解释一下它背后的原因吗?如果这个问题可以解决?

谢谢.

Sun*_*hoo 5

单击"菜单"时,窗口焦点会发生变化.焦点进入菜单视图.因为onKeyDown()不起作用,因为如果屏幕的焦点位于顶部的视图或活动上,onKeyDown将起作用.

使用以下代码了解屏幕的焦点

@Override
    public void onWindowFocusChanged(boolean hasFocus) {
        // TODO Auto-generated method stub
        System.out.println("....window focus changed..");
        super.onWindowFocusChanged(hasFocus);
    }
Run Code Online (Sandbox Code Playgroud)