您的位置:首页 > 其它

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

2017-07-24 16:50 169 查看
最近做了一款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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: