Android点击EditText控件外部隐藏键盘
程序员文章站
2022-04-20 08:35:36
//根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘private boolean isShouldHideKeyboard(View v, MotionEvent event) { if (v instanceof EditText) { int[] l = {0, 0}; v.getLocationInWindow(l); int left = l[0], top = l[1], botto....
//根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v instanceof EditText) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null){
imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
return super.dispatchTouchEvent(ev);
}
本文地址:https://blog.csdn.net/c_furong/article/details/108850622
上一篇: AVIVO技术特点简介
推荐阅读
-
Android中点击隐藏软键盘最佳方法
-
Android点击EditText文本框之外任何地方隐藏键盘的解决办法
-
Android编程之ListView和EditText发布帖子隐藏软键盘功能详解
-
Android编程实现点击EditText之外的控件隐藏软键盘功能
-
Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)
-
Android编程之ListView和EditText发布帖子隐藏软键盘功能详解
-
Android编程实现点击EditText之外的控件隐藏软键盘功能
-
Android点击EditText控件外部隐藏键盘
-
处理EditText外部区域隐藏软键盘
-
Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)