首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解Android获取软键盘状态和软键盘高度

详解Android获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘高度。这里列举了一些可能的应用场景。...API的困境 Android SDK中没有提供任何API来直接获取软键盘的状态和软键盘高度,网上很多资料说InputMethodManager的isActive()方法可以获取软键盘状态,不过实际测试发现...所以并不能通过isActive()方法来判断软键盘究竟是显示还是隐藏的。要想获取软键盘的状态和软键盘高度,只能通过间接方法实现。...为了在OnGlobalLayoutListener的回调中准确的判断是否是由于软键盘状态改变引起的,以及获取软键盘高度,还需要另外一个接口。...监听软键盘的状态变化 在获取软键盘的状态和高度后就可以执行需要的操作了。如重新布局按钮位置,设置变量,记录当前软键盘状态和上次软键盘隐藏时间等。

2.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android 软键盘遮挡解决

软键盘弹出 ? 解决问题后 解决思路: ? 思路 我们要做的就是在软键盘弹出后显示的位置为空白区域,不超过内容区域,也就是登录按钮一下。...首先我们是有办法获取内容区域的大小也就是高的(代码中体现),然后屏幕的高减去内容区域的高就是软键盘高度,知道了软键盘高度软键盘高度无法改变,那么只好调整内容区域距离顶部的margintop值了,...主要代码: 第一步: 获取屏幕分辨率: int  screenHeight=activity.getResources().getDisplayMetrics().heightPixels; 第二步:.../Rect 其实就是左上右下 Rect rect =new Rect();//不知道自行了解,代码中都有注释 //获取当前窗口可视区域大小(内容区域)也就是获取内容区域高度,activity为loginActivity...activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); //这就是软键盘高度 int newBlankheight

3.8K40

Android 软键盘的那些事

android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。...:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的 【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态...】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分(软键盘会遮挡屏幕) android:windowSoftInputMode 活动的主窗口如何与包含屏幕上的软键盘窗..."stateAlwaysHidden" 当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。..."stateAlwaysVisible" 当该Activity主窗口获取焦点时,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。

1.9K10

js获取各种高度总结

在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到的,时间仓促,没有考虑到万恶的IE浏览器。。。。...获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文的高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去的高度和向右卷的宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域的高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域的高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

12.5K20

Javascript 获取div真实高度

如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。...原文:http://www.cnblogs.com/zhwl/p/3858682.html 实际测试过程中,发现上面获取真实高度是有问题,其实无论是设置在样式表还是在行内设置,都会获取到你设置的值,如果要获取真实高度...: 获取真实高度...: alert(parseInt($('.article__content div').get(0).offsetHeight)); 获取时只要在这个样式里面的div大小,这个就是真实高度。...这里还附带其它的获取高度方法 alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度

4.9K30

【H5】209-可能这些是你想要的H5软键盘兼容方案

IOS 软键盘弹起表现 在 IOS 上,输入框(input、textarea 或 富文本)获取焦点,键盘弹起,页面(webview)并没有被压缩,或者说高度(height)没有改变,只是页面(webview...Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...在 Android 上,监听 webview 高度会变化,高度变小获知软键盘弹起,否则软键盘收起。...有时我们会做一个输入表单,有很多输入项,输入框获取焦点,弹起软键盘。...当输入框位于页面下部位置时,在 IOS 上,会将 webview 整体往上滚一段距离,使得该获取焦点的输入框自动处于可视区,而在 Android 则不会这样,它只会改变页面高度,而不会去滚动到当前焦点元素到可视区

3.8K12

Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

3.界面变化之后,获取"可用高度" 当软键盘弹出了之后,接下来的事情是获取改变之后的界面的可用高度(可以被开发者用以显示内容的高度)。...↑也可以看出: rect.top值,其实就是标题栏的高度。(实际上,这也常常被用作为获取标题栏高度的方法) 屏幕高度-rect.bottom,是软键盘高度。...(获取软键盘高度的方法也出现了) 这时,就有: 全屏模式下,可用高度 = rect.bottom 非全屏模式,可用高度 = rect.bottom - rect.top 4.最后一步,重设高度 我们计算出的可用高度...但当前界面的实际高度是比可用高度要多出一个软键盘的距离的。 所以,最后一步,就是把界面高度置为可用高度——大功告成。...加上了这个判断之后,只有界面的高度变化超过1/4的屏幕高度,才会进行重新设置高度,基本能保证代码只响应软键盘的弹出。

4.2K20

可能这些是你想要的H5软键盘兼容方案

IOS 软键盘弹起表现 在 IOS 上,输入框(input、textarea 或 富文本)获取焦点,键盘弹起,页面(webview)并没有被压缩,或者说高度(height)没有改变,只是页面(webview...Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...在 Android 上,监听 webview 高度会变化,高度变小获知软键盘弹起,否则软键盘收起。...有时我们会做一个输入表单,有很多输入项,输入框获取焦点,弹起软键盘。...当输入框位于页面下部位置时,在 IOS 上,会将 webview 整体往上滚一段距离,使得该获取焦点的输入框自动处于可视区,而在 Android 则不会这样,它只会改变页面高度,而不会去滚动到当前焦点元素到可视区

7.9K20

ClientHeight_offsetheight获取高度不对

clientHeight:包括padding但不包括border、水平滚动条、margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。...style.height //返回元素的高度(包括元素高度,不包括内边距、边框和外边距) clientHeight //返回元素的高度(包括元素高度、内边距,不包括边框和外边距) offsetHeight...//返回元素的高度(包括元素高度、内边距和边框,不包括外边距) scrollHeigh //返回元素的高度(包括元素高度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientHeight...相同 scrollTop //此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。...offsetTop //返回元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。

3K20
领券