刚开始在onconfigurationChanged中监听,结果发现该方法在configuration变化即配置文件发生变化时才会被调用,如横竖屏切换,android重新载入配置文件时。而键盘隐藏不会触发该方法。
后来采用如下方法完美解决了键盘隐藏监听事件。
//该Activity的最外层Layout
finalView activityRootView = findViewById(R.id.activityRoot);
//给该layout设置监听,监听其布局发生变化事件
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(newOnGlobalLayoutListener(){
@Override
publicvoid onGlobalLayout(){
//比较Activity根布局与当前布局的大小
int heightDiff = activityRootView.getRootView().getHeight()- activityRootView.getHeight();
if(heightDiff >100){
//大小超过100时,一般为显示虚拟键盘事件
}else{
//大小小于100时,为不显示虚拟键盘或虚拟键盘隐藏
}
}
});
相关推荐
Android键盘显示和隐藏监听,通过自定义布局去监听键盘是否显示
监听Android软键盘弹出和收起事件(所有代码都是抽离自facebook/react-native源码中, 亲测有效, 放心食用)。回调事件方法参数包含键盘是否弹出(isShow)、键盘高度(keyboardHeight)、屏幕可用高度(screenHeight)、屏幕...
检测软键盘是否显示或隐藏的功能。blog:http://blog.csdn.net/hehaiminginadth/article/details/48435703
我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面;在点击搜索框的时候,点击右下角的search符号键可以进行搜索;或者在...
Android App监听软键盘按键的三种方式(http://blog.csdn.net/zhufuing/article/details/18964725)博文中所用的demo
android 键盘监听
android 监听软键盘状态(弹起还是收起),你懂的,没有现成的方法,通过跟布局的高度判断。
在开发时遇到一个问题,需要对软...但是由于android不直接提供对软键盘打开与关闭操作的监听器,所以必须自己来写一个关于软键盘打开/关闭的监听器。 原理是通过对OnGlobalLayoutListener()来实现对软键盘的状态监听器
6 创建自定义列表对话框 笔者为该对话框添加了自定义的布局文件 该自定义布局文件包含一个文本标签和一个文本框 并实现了确定按钮点击监听事件 在文本框输入内容后 获取文本框里的内容 并以toast形式显示出来 ...
这个方法不依赖于windowSoftInputMode属性...在cs上看到的源码(为了赚点积分,请原谅~),我自己对其做了修改使它支持fragment,原理是通过监听根View的显示高度来达到目的,因为键盘是覆盖在视图上的。绝对好用!!!
该demo实现android拨号键盘拨打电话击联系人功能,并实现服务监听来去电及获取来去电号码功能
拿到这个需求的第一反应就是写一个监听来监听键盘的显示和隐藏来控制输入框的显示和隐藏,控制文本框中的内容。 所以我做了如下操作: 指定android:windowSoftInputMode=”adjustResize|stateAlwaysHidden”这个的...
主要给大家介绍了Android在Fragment中实现监听触摸事件的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
主要介绍了android监听返回按钮事件的方法,涉及Android事件监听的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
由于google没有提供相应的接口函数,所以android软件盘的监听需要另辟奚径!网上搜到很多关于这方面的介绍,最流行的就是在压缩模式下通过监听onLayout()函数来实现的监听,这种方法可能不适合希望在软键盘弹出时...
android 后台监听按键事件方法及demoandroid 后台监听按键事件方法及demo
Android 监听百度地图缩放事件
android实现监听键盘弹出/收起事件,并且过滤掉splitted actin menubar的弹出
jquery 监听 键盘 事件
android Button常用监听事件的几种类型