Android 点击空白页关闭软键盘
来源:互联网 发布:金百福珠宝软件是什么 编辑:程序博客网 时间:2024/06/06 09:11
思路 在Activity的onTouchEvent 方法中,获取点击的View,如果不是Edittext,隐藏软键盘。
@Overridepublic boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentFocus(); if (isShouldHideKeyboard(v, event)) { hideKeyboard(v.getWindowToken()); } }return super.onTouchEvent(event);}
/** * 根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘,因为当用户点击EditText时则不能隐藏 * * @param v * @param event * @return */ private boolean isShouldHideKeyboard(View v, MotionEvent event) { if (v != null && (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(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { // 点击EditText的事件,忽略它。 return false; } else { return true; } } // 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditText上,和用户用轨迹球选择其他的焦点 return false; } /** * 获取InputMethodManager,隐藏软键盘 * @param token */ private void hideKeyboard(IBinder token) { if (token != null) { InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS); } }
Base 里面统一处理即可
1 0
- Android 点击空白页关闭软键盘
- android 点击关闭软键盘
- 点击软键盘外面,关闭软键盘
- 点击PopupWindow 关闭软键盘
- android在点击搜索按钮同时关闭软键盘
- android 点击EditText外的区域关闭软键盘
- android 关闭软键盘
- android 关闭软键盘
- android 关闭软键盘
- android 关闭软键盘
- Android关闭软键盘
- Android 关闭软键盘
- Android关闭软键盘
- 关闭android软键盘
- Android关闭软键盘
- Android 关闭软键盘
- 打开关闭软键盘,点击屏幕其他地方关闭软键盘
- android 监听软键盘弹起和关闭状态与点击空白区域软键盘隐藏
- [ZooKeeper]Locks机制活动图
- 如何在窗口模式下演示ppt
- Android day7
- 打包时Fragment需要注意的一些问题
- JavaScript强化教程-动态实现创建row行col列的表格
- Android 点击空白页关闭软键盘
- android开发步步为营之106:TextView,EditText要求固定行数自动调整TextSize
- Boost 库 enable_shared_from_this 实现原理分析
- sqoop把mysql导入hive时报错:Could not load org.apache.hadoop.hive.conf.HiveConf.
- java对接mysql数据库
- nohup 和 &
- makefile 编译可执行文件
- Android Annotation框架初步实践
- ubuntu下的android studio jni生成c++动态库的调用方法及排错(ndk生成的动态库调用)