Android 软键盘的显示与隐藏(isActive一直为true的情况)
2015-04-27 14:36
253 查看
跨入IT行业1年半时间,从事android开发半年时间,中间也遇到过一些问题,但是都没有记录下来,这次遇到的问题,花了我整整一天的时间(本人菜鸟,请原谅),所以特此记录下来,以备查看
需求:界面上有EditText,Button,当点击按钮的时候如果软键盘是弹出来的,就隐藏,否则就执行其他操作
最开始度娘了一堆方式,有一篇《Android 手动显示和隐藏软键盘》写的很好,我也是用的这种方式但是问题来了,为什么我的imm.isActive()一直返回true
然后悲催的生活开始了,各种调试,各种改代码,各种度娘,最后还是没有找到解决方案,中午休息睡了一小下,醒了之后继续弄,然后又单独写了个测试Activity,最后发现在onClick事件里的isActive就始终为true(不知道是不是我测试有问题),快要崩溃了,怎么办,怎么办
突然看到键盘弹出的时候,我的View好像被顶上去了,对,被顶上去了,咦?被顶上去,那我的View的高度会不会变化呢?如果会变化,我可以用这个高度来判断键盘弹出来了吗?对,赶紧试试,哈哈哈哈,我狂笑,居然可以哦
需求:界面上有EditText,Button,当点击按钮的时候如果软键盘是弹出来的,就隐藏,否则就执行其他操作
最开始度娘了一堆方式,有一篇《Android 手动显示和隐藏软键盘》写的很好,我也是用的这种方式但是问题来了,为什么我的imm.isActive()一直返回true
然后悲催的生活开始了,各种调试,各种改代码,各种度娘,最后还是没有找到解决方案,中午休息睡了一小下,醒了之后继续弄,然后又单独写了个测试Activity,最后发现在onClick事件里的isActive就始终为true(不知道是不是我测试有问题),快要崩溃了,怎么办,怎么办
突然看到键盘弹出的时候,我的View好像被顶上去了,对,被顶上去了,咦?被顶上去,那我的View的高度会不会变化呢?如果会变化,我可以用这个高度来判断键盘弹出来了吗?对,赶紧试试,哈哈哈哈,我狂笑,居然可以哦
// mHeight是contentView初始化完成的高度,contentView.getHeight()是键盘弹出后取的的高 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (mHeight > contentView.getHeight()) <span style="white-space:pre"> </span>{ // 隐藏键盘 imm.hideSoftInputFromWindow(XXXActivity.this .getCurrentFocus().getWindowToken(), 0); return; }
相关文章推荐
- Android在任何情况下显示和隐藏输入法软键盘
- Android软键盘的显示与隐藏
- android中隐藏与显示软键盘以及不自动弹出键盘的方法
- android中隐藏与显示软键盘及不自动弹出键盘及软键盘将布局顶上去的实现方法
- Android软键盘的隐藏显示研究
- Android 软键盘的显示和隐藏
- android 隐藏以及显示软键盘以及不自动弹出键盘的方法
- Android软键盘的显示与隐藏
- Android软键盘的显示与隐藏
- android 软键盘的显示和隐藏方法
- android 控制软键盘显示和隐藏
- android-隐藏和显示软键盘
- Android软键盘的隐藏显示研究
- 关于android 软键盘显示与隐藏监听
- Android监听软键盘的显示与隐藏
- Android软键盘的隐藏显示研究
- Android软键盘的显示与隐藏
- Android 判断软键盘的状态(显示,隐藏)
- 解析android中隐藏与显示软键盘及不自动弹出键盘的实现方法
- Android检测软键盘显示状态,隐藏软件键盘