点击EditText以外的地方隐藏输入框和软键盘
2017-04-25 09:50
453 查看
点击EditText以外的地方隐藏输入框和软键盘
放主Activity中:@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点) View view = getCurrentFocus(); if (isShouldHideSoftKeyBoard(view, ev)) { hideSoftKeyBoard(view.getWindowToken()); } } return super.dispatchTouchEvent(ev); } private boolean isShouldHideSoftKeyBoard(View view, MotionEvent event) { if (view != null && (view instanceof EditText)) { int[] l = {0, 0}; view.getLocationInWindow(l); int left = l[0], top = l[1], bottom = top + view.getHeight(), right = left + view.getWidth(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { return false; } else { return true; } } return false; } private void hideSoftKeyBoard(IBinder token) { if (token != null) { InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS); } }
相关文章推荐
- 点击EditText以外的地方隐藏掉键盘
- 点击屏幕上EditText区域以外的任何地方隐藏键盘的解决方法
- 点击空白处隐藏软键盘(点击EditText以外的地方隐藏软键盘)
- Android点击输入框以外的地方隐藏输入框和键盘
- Android点击EditText之外地方隐藏键盘
- Android点击EditText以外区域隐藏键盘Fragment同样适用
- 点击EditText以外的地方软键盘隐藏
- 点击屏幕上EditText区域以外的任何地方隐藏键盘的解决方法
- [置顶] android点击屏幕上EditText区域以外的任何地方隐藏键盘的方法
- Android.EditText点击时,隐藏系统弹出的键盘,显示出光标
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- 点击edittext以外的地方关闭软键盘的方法
- Android.EditText点击时,隐藏系统弹出的键盘,显示出光标
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- 点击输入框显示键盘 点击其他地方隐藏键盘
- 点击EditText,隐藏键盘
- Android:点击EditText文本框之外任何地方隐藏键盘的解决办法
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法