android点击空白地方隐藏软键盘
2016-07-07 11:20
357 查看
// 获取点击事件 @Override public boolean dispatchTouchEvent(MotionEvent ev) { // TODO Auto-generated method stub if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (isHideInput(view, ev)) { HideSoftInput(view.getWindowToken()); } } return super.dispatchTouchEvent(ev); } // 判定是否需要隐藏 private boolean isHideInput(View v, MotionEvent ev) { 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 (ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom) { return false; } else { return true; } } return false; } // 隐藏软键盘 private void HideSoftInput(IBinder token) { if (token != null) { InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); manager.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS); } }
相关文章推荐
- android气泡消息提醒布局
- (OK)(OK) install_android-x86_64_in_QEMU-KVM.txt
- 学习自定义View之前你应该要知道的一些东西
- android xml详解
- android udp文件断点续传
- adb 命令使用实例
- Android Studio多渠道打包和代码混淆教程
- Android Material Design动画(上)
- ListView的下拉刷新上拉加载以及带列的横向滚动
- androidstudio git项目到github出现的错误解决办法
- Android实现定时器的3种方法
- Android Studio实现代码混淆
- APK反编译
- Android 安卓开发入门教程,
- Android中getWritableDatabase与getReadableDatabase的用法区别
- android 的四种枚举Context.MODE_PRIVATE
- fragment使用心得
- android常用工具类库整理
- 教你快速掌握androidstudio使用git上传本地项目到github、版本控制
- 使用Android Studio遇到的问题及解决过程