有关功能手机物理按键的焦点问题

来源:互联网 发布:微信分销php开发手册 编辑:程序博客网 时间:2024/06/16 00:18

最近做了一款Android7.0的功能机,其中很容易的出现物理按键焦点混乱的问题,做下记录

通过以下方法解决了自己遇到的问题

1,重写当前activity的dispatchKeyEvent ,keydown,keyup方法,对各种按键按下的事件做处理

如:返回按键


public boolean dispatchKeyEvent(KeyEvent event) {

if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
                && event.getAction() != KeyEvent.ACTION_UP) 

return true;

return super.dispatchKeyEvent(event);

}


@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {    
              return true;
         }

return super.onKeyDown(keyCode, event);

}


@Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {    
              return true;
         }

return super.onKeyUp(keyCode, event);

}

如果自己处理了,return true;(按事件分发的逻辑做处理)

2,焦点获取,与丢失

请求获取用户焦点 setFocusable(true);setFocusableInTouchMode(true);requestFocus()

判断是否持有焦点isFocused();isSelected();

清理焦点clearFocus();



做个记录 2017年7月24日17:03:32  by  hwj   in sz

阅读全文
0 0
原创粉丝点击