拷贝入BaseActivity 或 具体Activity

Java实现:

    /*** 点击非编辑区域收起键盘* 获取点击事件* CSDN-深海呐*/@CallSuper@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {if (ev.getAction() ==  MotionEvent.ACTION_DOWN ) {View view = getCurrentFocus();if (KeyboardsUtils.isShouldHideKeyBord(view, ev)) {KeyboardsUtils.hintKeyBoards(view);}}return super.dispatchTouchEvent(ev);}

Kotlin实现:

    /*** 点击非编辑区域收起键盘* 获取点击事件* CSDN-深海呐*/@CallSuperoverride fun dispatchTouchEvent(ev: MotionEvent): Boolean {if (ev.action == MotionEvent.ACTION_DOWN) {val view = currentFocusif (KeyboardsUtils.isShouldHideKeyBord(view, ev)) {KeyboardsUtils.hintKeyBoards(view)}}return super.dispatchTouchEvent(ev)}

KeyboardsUtils:

public class KeyboardsUtils {/*** 显示软键盘* @param view*/public static void showKeyboard(View view) {InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);if (imm != null) {view.requestFocus();imm.showSoftInput(view, 0);}}/*** 隐藏软键盘* @param view*/public static void hintKeyBoards(View view) {InputMethodManager manager = ((InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE));if (manager != null) {manager.hideSoftInputFromWindow(view.getWindowToken(), 0);}}/*** 判定当前是否需要隐藏*/public static boolean isShouldHideKeyBord(View v, MotionEvent ev) {if (v != null && (v instanceof EditText)) {int[] l = {0, 0};v.getLocationInWindow(l);int left = l[0];int top = l[1];int bottom = top + v.getHeight();int right = left + v.getWidth();return !(ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom);}return false;}
}

Android 点击键盘外的区域收起键盘相关推荐

  1. android 设置点击ProgressDialog外的区域不消失

    今天,简单讲讲android如何设置点击ProgressDialog外的区域不消失.  昨天,自己做一个加载框ProgressDialog时,完成功能后,发现ProgressDialog点击区域外 ...

  2. android 键盘搜索按钮不收起键盘,安卓 点击按钮收起EditText键盘

    @Override public boolean dispatchTouchEvent(MotionEvent me) { if (me.getAction() ==MotionEvent.ACTIO ...

  3. Android 点击空白位置并且隐藏软键盘

    点击空白位置,并且隐藏软键盘,代码: /*** 点击空白位置,隐藏软键盘*/@Overridepublic boolean onTouchEvent(MotionEvent event) {if (n ...

  4. android 键盘搜索按钮不收起键盘,android EditText 实现搜索框点击搜索隐藏键盘

    布局: android:id="@+id/search_input" android:background="#00000000" android:layout ...

  5. Android 点击应用外的Url拉起应用

    最近工作上遇到个新的情况,简单了解了一下.把相关的知识简单记录一下. 情况是一个android应用会在其他平台上分享东西,分享的内容里有条url,要求用户点击该url的时候拉起应用并进行处理. 其实网 ...

  6. Jquery点击元素外的区域隐藏元素

    $(document).on('click', function(e) {if (0 == $((e.target || e.srcElement)).closest('.mask,.panel'). ...

  7. android 键盘遮盖输入框_Android各种键盘挡住输入框解决办法

    原标题:Android各种键盘挡住输入框解决办法 今日科技快讯 C919大型客机首飞成功,让很多人激动不已.然而近日网上也出现了一些不同的声音:说这架飞机许多部件都是进口货,甚至有人说C919中国人只 ...

  8. android 键盘遮盖输入框_各种键盘挡住输入框终极解决办法

    对于键盘挡住输入框,给出了多种方案,希望对大家有所帮助. 在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮, ...

  9. UITableView关闭键盘/收起键盘的方法总结

    1.UITableView自带的属性 tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;UIScrollVie ...

最新文章

  1. 【Docker实战之入门】Dockerfile详细分析:构建docker镜像(4)构建动态网站WordPress...
  2. 特征值与特征向量的意义
  3. nodeJS 事件绑定
  4. 日志单例log4cpp简述
  5. Github | 标星3W+ ! Face Recognition世界上最简洁的人脸识别库!
  6. 2021 ACDU China Tour启航,首站邀您北京共话行业数据库技术实践
  7. [c#] 服务器提交了协议冲突. Section=ResponseHeader Detail=CR...的解决方案总结
  8. java级别_Java的访问级别(深入版)
  9. 什么软件可以在给多个视频添加马赛克同时批量裁剪画面呢?
  10. python中撤销的快捷键_python常用快捷键
  11. ENVI剪裁图片( 剪裁、裁移位等问题)
  12. 关于射频同轴连接器的功率容量探讨
  13. 软件架构-事件驱动架构
  14. 微信的商户单号和交易单号_教你获取支付宝和微信的订单号、商户单号,涨知识了...
  15. 英语单词12大前缀3大词性后缀
  16. mat1 and mat2 shapes cannot be multiplied (128x432 and 576x64)的解决
  17. idea修改中文字体
  18. 抖音怎么开直播?抖音开播流程介绍
  19. 计算机硬件专业叫什么作用,计算机硬件的五大功能是什么呢
  20. 81章 老子1章到_老子1章2章80章81章

热门文章

  1. 字符变量 单引号 c语言,【C】 14_单引号和双引号
  2. Unity特效需求的Alpha万能Shader
  3. 内部招聘和外部招聘的优劣势分析
  4. 【深度长文】小样本学习及其在美团场景中的应用
  5. 微信二手交易小程序源码开发设计方案
  6. unity3d鼠标移动到上面变色
  7. 极客天成将参加CNCC2022并做DPU技术分享
  8. 《CTFshow - Web入门》03. Web 21~30
  9. DTS和PTS的分析(FFMPEG、HLS相关)
  10. 优思学院|西门子精益六西格玛的历程