最近项目中有一个编辑框,下面是个ListView。在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击。这样的体验效果很不好。于是便想在滑动或单击item时判断键盘是否弹出,若弹出,则把它隐藏。

网上一搜,发现Android并没有直接提供软键盘的弹出与隐藏判断,一些解决方案诸如判断父控件的高度或者判断

if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)

隐藏键盘;

的方法并没有用,于是便从官方文档着手。

发现InputMethodManager有一个方法isActive(View view):如果view是输入法的活动view,则返回true。也就是说,如果是由view触发弹出软键盘,则返回true。哇,那问题就好办了

if(isActive(edittext))

隐藏键盘

接着让另一个view强制获取焦点,这样isActivite(ediitext)就为false.

这个方法比较简单,代码比较短,也很好理解,希望能够帮助有需要的人,也不枉费我调试几个小时的功夫。

附上代码:

InputMethodManager inputMethodManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
private boolean hideKeyboard(){

if(inputMethod

android判断键盘是否弹出窗口,Android判断软键盘弹出并隐藏的简单完美解决方法(推荐)...相关推荐

  1. Android判断软键盘弹出并隐藏的简单完美解决方案

    Android判断软键盘弹出并隐藏的简单完美解决方案 参考文章: (1)Android判断软键盘弹出并隐藏的简单完美解决方案 (2)https://www.cnblogs.com/thare1307/ ...

  2. Android软键盘弹出时,覆盖布局,不是把布局顶上去的解决方法

    方法一: 在你的activity中的oncreate中setContentView之前写上这个代码 getWindow().setSoftInputMode(WindowManager.LayoutP ...

  3. android外接键盘打汉字,Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 第一次写,写的不好请见谅 参考: 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有 ...

  4. Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 可以加群:466059178,可以共同讨论,大神指导 第一次写,写的不好请见谅 参考: http://blog.csdn.net/DrakeB ...

  5. 点击弹出窗口外任意地方关闭弹出窗口

    问:如何在点击弹出窗口外其他地方时关闭弹出窗口? 答:使用FlexMouseEvent'sMOUSE_DOWN_OUTSIDE事件.用户点击弹出窗口的外部时,会分发此事件.只需要在popUpWindo ...

  6. 解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题

    解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题 项目需求: 一个信息提交页面:有input输入框,有picker选择器 遇到的问题: 点击input输入框时,手机自动弹出键盘,但 ...

  7. android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法

    Android Studio 运行按钮灰色的完美解决方法 今天新建项目的时候突然发现编译后运行按钮为灰色. 解决方案:第一步:点击图中的Add Configuration,出来如下界面 第二步:点+号 ...

  8. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  9. android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法

    android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法 参考文章: ...

最新文章

  1. 【Android】Java回调原理并结合Android源码进行理解
  2. 【数据挖掘】基于密度的聚类方法 - DBSCAN 方法 ( DBSCAN 原理 | DBSCAN 流程 | 可变密度问题 | 链条现象 | OPTICS 算法引入 | 聚类层次 | 族序概念 )
  3. 2020年高等数学方法与提高(上海理工大学)学习笔记:常微分方程
  4. em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
  5. CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator
  6. Servlet中response对象Commit状态的分析
  7. ext教程_exe_作者blackant
  8. python模式字符串_使用python进行字符串模式匹配
  9. mysql 5.7.17解压缩版本安装过程
  10. WSUS 3.0 SP2 部署安装
  11. Activiti第三篇【连接、排他网关、指定任务处理人、组任务】
  12. 私域流量客服社群运营员工工作绩效表格方案计划手册指南宝典
  13. 单片机==共阴数码管(4)
  14. LintCode 92.背包问题
  15. Springboot启动流程分析(四):完成启动流程
  16. Bilibili网站后台代码泄露,从注释看到的一些感想。
  17. VS集成Qt环境搭建
  18. 每秒处理10万高并发订单的乐视集团支付系统架构分享【转】
  19. C语言实现猜拳小游戏
  20. 简单的vue小demo——小黑记事本

热门文章

  1. oracle改变字符集影响,影响ORACLE汉字显示的字符集问题
  2. 水利万物而不争,英特尔的云战略自有深意
  3. linux console
  4. 坚持自主研发永硕心理产品惊艳亮相豫教展并广获好评
  5. 【SA8295P 源码分析】36 - MDIO Clause 22、Clause 45 条款介绍
  6. oracle gather_tab,DBMS_STATS.GATHER_TABLE_STATS详解
  7. 《Java从入门到精通读后感》
  8. Python时间戳转换成时间方法
  9. zotero联合坚果云与zotfile的换机同步实录
  10. AI黑科技又来了,三个以假乱真的配音工具