博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android-点击空白或点击除EditText之外的控件隐藏软键盘
阅读量:6173 次
发布时间:2019-06-21

本文共 1352 字,大约阅读时间需要 4 分钟。

1 /** 2      * 利用android的事件分发机制,用户在点击除EditText...之外的控件隐藏软键盘输入窗口。 3      */ 4     @Override 5     public boolean dispatchTouchEvent(MotionEvent ev) 6     { 7         if(ev.getAction() == MotionEvent.ACTION_DOWN) 8         { 9             View v = getCurrentFocus();10             if(isShouldHideInput(v,ev)){11                 hideSoftInput(v.getWindowToken());12             }13         }14         return super.dispatchTouchEvent(ev);15     }16 17     private boolean isShouldHideInput(View v, MotionEvent ev)18     {19         if(v != null && (v instanceof EditText))20         {21             int[] l = {0, 0};22             v.getLocationInWindow(l);23             int left = l[0], top = l[1], right = left + v.getWidth(), bottom = top + v.getHeight();24             if(ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom)25             {26                 return false;// 忽略27             }28             else29                 return true;30         }31         return false;32     }33     private void hideSoftInput(IBinder token){34         if(token !=null){35             InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);36             imm.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);37         }38     }

 

转载于:https://www.cnblogs.com/wangziqiang/p/3657154.html

你可能感兴趣的文章
QuaggaJS —— 纯 JavaScript 开发的条形码扫描
查看>>
在图片中加入噪点就能骗过 Google 最顶尖的图像识别 AI
查看>>
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
IBM Watson 进入癌症基因组分析市场
查看>>
在 Linux 中查看你的时区
查看>>
Linux集群和自动化维1.6 小结
查看>>
《OpenACC并行编程实战》—— 第1章 并行编程概览 1.1 加速器产品
查看>>
C语言OJ项目参考(2417) 字符串长度
查看>>
ajax的手写、封装和自定义设置
查看>>
class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
查看>>
android自定义属性
查看>>
ERROR 1114 (HY000): The table 'table1' is full
查看>>
知乎网友神回复:哪怕是平时聊天吹牛的也没见程序员晒,这是为什么呢?
查看>>
Android实训案例(三)——实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果!...
查看>>
phalapi-进阶篇2(DI依赖注入和单例模式)
查看>>
MySQL 5.7.5 : GTID_EXECUTED系统表
查看>>