android点击任意非EditText区域,隐藏键盘
来源:互联网 发布:英国买mac口红便宜吗 编辑:程序博客网 时间:2024/05/17 13:39
事件分发机制:
在获取事件分发时,获取当前获得焦点的View,之后判断当前View类型,是否为EfitText,是则不管,不是则隐藏键盘。
直接将代码添加到BaseActivity即可:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideInput(v, ev)) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}
return super.dispatchTouchEvent(ev);
}
if (getWindow().superDispatchTouchEvent(ev)) {
return true;
}
return onTouchEvent(ev);
}
public boolean isShouldHideInput(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] leftTop = { 0, 0 };
v.getLocationInWindow(leftTop);
int left = leftTop[0];
int top = leftTop[1];
int bottom = top + v.getHeight();
int right = left + v.getWidth();
if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) {
return false;
} else {
return true;
}
}
return false;
}
- android点击任意非EditText区域,隐藏键盘
- 点击非edittext区域 隐藏键盘
- Android点击其他区域,隐藏EditText键盘。
- android中 点击非键盘区域 隐藏键盘的方法
- Android点击EditText以外区域隐藏键盘Fragment同样适用
- Android点击非编辑框区域键盘隐藏
- 点击非编辑区域隐藏键盘
- Android 点击EditText以外区域键盘消失
- Android点击EditText以外区域,键盘消失
- android点击屏幕上EditText区域以外的任何地方隐藏键盘的方法
- 点击EditText,隐藏键盘
- Android点击除键盘外的其他区域隐藏键盘
- android朋友圈监听键盘状态 点击空白区域隐藏键盘
- Android EditText 输入完毕 点击空白区域键盘自动退出
- android中点击任意空白处隐藏键盘的方法
- Android基础控件——EditText隐藏软键盘、Enter键隐藏软键盘、点击非输入框区域隐藏软键盘
- Android点击EditText文本框之外任何地方隐藏键盘
- Android点击EditText文本框之外任何地方隐藏键盘
- 如何在MAC上打出emoji表情?
- MongoDB 的Rollback讲解及避免
- svn分支开发与主干合并(branch & merge)
- Python BeautifulSoup爬虫 HDU题目
- Android开源库V
- android点击任意非EditText区域,隐藏键盘
- 平滑与滤波的区别和联系
- python TensorFlow自动补全 必须转载
- Android模拟器端口被占用
- ORA-01045:user lacks CREATE SESSION privilege;logon denied
- Unity Learning for Day 15
- UIScrollView的setContentOffset相关问题
- python打开网络图片并缩放
- jquery ready()的几种实现方法