首先自定义控件重写dispatchKeyEventPreIme方法
判断软键处于活动状态,并且用户按下了返回键盘
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {if (context!= null) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
//dosomething
}
}
return super.dispatchKeyEventPreIme(event);
}