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

Android监听键盘状态获取键盘高度的实现方法

最近我的一个项目中,在ugc页面需要在键盘顶部,紧贴着键盘显示一个文字提示,当键盘消失时就隐藏. 因此,我需要监听软键盘的打开/关闭 , 以及获取它的高度....getWindowVisibleDisplayFrame()会返回窗口的可见区域高度,通过和屏幕高度相减,就可以得到软键盘高度了。...至此,我们得到了剩余的高度 . 这个高度可能就是键盘高度了, 为什么说可能呢?因为还么有考虑到顶部的状态栏和底部的虚拟导航栏. 当然也可能不是键盘....然后我们根据这个高度和之前已知的键盘状态来判断是否为键盘. 并回调给监听者....我通过LayoutParams给它设置边距 , 只设置了底部边距 , 值为返回的”键盘高度”- 顶部状态栏高度-虚拟导航栏的高度. 得到真实的键盘高度.

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    详解Android中获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘高度。这里列举了一些可能的应用场景。...所以并不能通过isActive()方法来判断软键盘究竟是显示还是隐藏的。要想获取软键盘的状态和软键盘高度,只能通过间接方法实现。...不过并不是只有软键盘的显示和隐藏会影响窗口的可见区域大小,像大多数的平板和部分手机上有一排虚拟按键(虚拟的返回键,Home键等),虚拟按键的显示和隐藏也会引起窗口可见区域的变化。...此外,getWindowVisibleDisplayFrame()会返回窗口的可见区域高度,通过和屏幕高度相减,就可以得到软键盘高度了。...Window可见区域高度差值大于整个屏幕高度的1/3,则表示软键盘显示中,否则软键盘为隐藏状态。

    2.9K20

    虚拟键盘是怎么使用的?虚拟键盘使用了什么工作原理?

    ,相信大家都是了解过的,虚拟键盘自从提出这个概念以来,相关技术已经经过了很多次的革新了,那么虚拟键盘是怎么使用的?...虚拟键盘使用了什么工作原理?下面小编就为大家带来详细介绍一下。 image.png 一、虚拟键盘是怎么使用的?...所谓虚拟键盘就是人们口中常说的虚拟激光键盘,在现在社会中的技术中能够实现的虚拟键盘就是通过激光技术投影到各种物体表面上面使用的,那么虚拟键盘是怎么使用的?...一般来说虚拟键盘是通过蓝牙与智能设备进行连接然后投影到物体上面,大家就可以直接通过投影的键盘上面打字了。 二、虚拟键盘使用了什么工作原理?...以上就是关于虚拟键盘是怎么使用的以及虚拟键盘使用了什么工作原理的文章内容,今天小编就为大家介绍到这里啦!

    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.6K20

    Qt官方示例-虚拟键盘使用

    这是一个使用Qt虚拟键盘的QML文本输入示例。 ?   该示例提供两种使用方式:一种用于桌面平台,另一种用于嵌入式平台,本例采用嵌入式平台方式显示。它们区别是前者脱离窗口应用于全局,后者依附于窗口。...isEmpty(CROSS_COMPILE)|qnx { DEFINES += MAIN_QML=\\\"basic-b2qt.qml\\\" # 采用了自定义的虚拟键盘的InputPanel,...qtvirtualkeyboard")); Qml文件导入模块 import QtQuick.VirtualKeyboard 2.1 TextInput派生类类带有TextInput派生类的控件获得输入焦点即可调用出虚拟键盘...(默认值) ImhDigitsOnly 数字键盘 ImhUppercaseOnly 大写键盘 ImhLowercaseOnly 小写键盘 ImhFormattedNumbersOnly 数字键盘 + 逻辑符号键盘...数字键盘 ? 数字键盘 + 逻辑符号键盘 ? 支持切换输入法 ? 0x03 关于更多 在QtCreator软件可以找到: ?

    4.2K10

    LMT:高度定制的单手虚拟按键

    文章更新:   20160914 初次成文   应用名称:LMT 应用包名:com.noname81.lmt   今天小苏又要给大家介绍压箱底的应用啦~   LMT(中文名:全屏助手)是一款高度自定义且功能丰富的虚拟按键应用...你可以设置触发区域,当手指触摸到设定好的触发区域时:   1.打开扇形面板   2.触发手势并进行设定好的某种操作   说到"高度自定义"那么也就是说,这个应用是有一定的学习成本的,换句话说,这个应用上手不会特别简单...利用扇形按钮,你可以利用它代替虚拟或者实体按键,只需要把手指滑到扇形按钮上再松开即可触发相应的按键动作,除此之外,你还可以定义将快捷方式,应用程序,系统开关,甚至是脚本,按键命令,网页,活动项定义在扇形按钮上...除此之外,你可以自定义扇形按钮的任何你能想得到和想不到的地方,比如扇形按钮颜色,扇形触发区域,扇形大小,扇形动画时长,扇形图标颜色/大小及方向,虚拟按键样式等等,因为自定义项目实在太多,小苏不再赘述。

    1K30
    领券