美文网首页Android技术知识Android开发程序员
【Android 进阶】Android 按键事件简单理解

【Android 进阶】Android 按键事件简单理解

作者: dongbingliu | 来源:发表于2017-03-11 17:57 被阅读136次
    image.png

    项目开发中涉及到按键事件处理:
    “dispatchKeyEvent” “onKeyDown ”“onKeyLisenter” 简单理解

    咨询同事,告知其接受按键优先级:
    dispatchKeyEvent > Activity的onKeyDown > view的onKeyLisenter

    其中按键处理事件return true ;表示已消耗此事件,不再继续传递;

    1. dispatchKeyEvent 事件

     @Override
        public boolean dispatchKeyEvent(KeyEvent event) {
           
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                switch (event.getKeyCode()) {
                    case KeyEvent.KEYCODE_DPAD_LEFT :
                       
                        break;
                    case KeyEvent.KEYCODE_DPAD_RIGHT :
                       
                        break;
                    default :
                        break;
                }
              
            }
            return ret ? true : super.dispatchKeyEvent(event);
        }
    

    2.onkeyDown 事件

     @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            return super.onKeyDown(keyCode, event);
        }
    

    3. onKeyLisenter 事件

    3.1 Activity 或者 Fragment 类需要继承接口implements OnKeyListener

    3.2 view 也需要注册事件:

    view.setOnkeyListener(context);

    3.3 继承接口,实现内部未实现的方法

     @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                switch (keyCode) {
    
                    case KeyEvent.KEYCODE_DPAD_UP :
                        break;
                    case KeyEvent.KEYCODE_DPAD_DOWN :
                        break;
                    case KeyEvent.KEYCODE_DPAD_LEFT :
                        break;
                    case KeyEvent.KEYCODE_DPAD_RIGHT:
                        break;
                    default :
                        break;
                }
            }
            return false;
        }
    

    相关文章

      网友评论

        本文标题:【Android 进阶】Android 按键事件简单理解

        本文链接:https://www.haomeiwen.com/subject/rrqzgttx.html