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

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

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

2.2K10

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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

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

    2.9K20

    js获取键盘keyCode——-Day42

    济南今天是大雨倾盆啊,这闷热一扫而空,只是有些电闪雷鸣,原想在公司里就完毕今天博客记录,只是不知道为什么怎么也登不上博客,预计是CSDN当时server出问题了吧,好在到了晚上,这雷声小了也少了...关于对javascript学习,我总感觉不能那么单调去看代码,还是要给自己找点乐子,游戏就成了着手点,能够互动更能让人不亦乐乎吧,那么对于一个电脑来说,我们能够实现互动手段实在是有限能够:键盘、...鼠标,当然假设有触摸屏的话也能算,而假设想要有效应用,至少要知道你说是什么,你告诉它指令是什么,这就要求我们要更清晰了解它传递原理和语法,当然我们都知道机器读是数字,那要让它怎样获取给它数字指令呢...这样,我先把写获取键盘keyCode方法附上: html语言 <div style="width: 500px;height: 200px;background-color: cyan;" id="...然后,我们来看一下这些按键各自<em>的</em>相应吧,上图: 不得不说网络是个好东西,这些都已经有整理好<em>的</em>,真棒,我们假设真要有游戏操作的话,确实有那么几个须要倍加关注吧,毕竟习惯<em>的</em>力量是巨大<em>的</em> a:65、w:

    2.2K20

    iOS 设置tableViewCell高度

    前言 iOS tableViewcell在显示之前必须获取cell高度,如果cell高度都一样,统一设置就行了,但是cell高度不统一的话就要一一设置了,在ios8之前,需要自己手动去计算,iOS...之后就方便多了 iOS8以下(不包含iOS8) 定义全局变量 //用于缓存计算高度cell var offscreenCells:[String:AnyObject] = [:]; 保存计算高度Cell...PingjiaTableViewCell; cell.pingjiaLabel.text = item["text"]; //不定高度label高度 let textHeight...cell高度你是没加,系统估算高度为120,就自己加了该约束,这样约束就多了,所以就报错了,怎样解决呢,又不能删除原有约束 这种情况约束优先级(Priority)就起作用了,一般我们添加约束优先级默认都是...1000,系统自己添加这个约束也是1000,我们只要降低我们自己view高度约束优先级就行了,设置高度约束优先级为750,这样当系统估算后添加估算高度后,我们自己设置高度就不起作用了。

    2.4K30

    ios学习——键盘收起

    然而,没有自动定义好键盘回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域输入结束。...当点击事件发生在非选中区域时,则键盘会自动回收: 1 //在viewDidLoad中 添加点击手势,为了关闭键盘操作 2 UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer...2、利用键盘 回车键 来进行设置当前UITextField、UITextView等文本框不是第一响应者,这种方法对UITextField、UITextView应用不一样,需要区别进行。   ...但是,我们可以根据UITextViewDelegate提供方法对键盘输入值进行判断,如果为回车键(\n)则设置当前UITextView不是第一响应者,否则不操作。...; //UITextViewDelegate代理,当键盘输入变化时调用,可以通过该方法判断输入内容 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange

    1.9K60

    iOS表情键盘完整实现

    市面上表情键盘分析 首先来看一下市面上主要几个APP上表情键盘,平时使用时候不会去关注细节,这次特意去使用了表情键盘,发现各个APP体验还是有优有劣。...最后是微博,微博客户端表情键盘体验是非常好,上面说到问题都不存在,而且表情键盘删除按钮还能长按删除输入框内容。 ?...font:(UIFont *)font; @end “真正键盘 真正键盘也就是说调起表情键盘时输入框是有光标的,能进行拖拽光标、选中区域等操作,这样体验才是与系统键盘一致。...在iOS11上,UITextView上NSTextAttachment(表情)默认可以进行拖拽交互,但是却导致拖动光标时很容易触发这个交互(图示可以查看上面说到微博国际版中误触)。...if (@available(iOS 11.0, *)) { // 只在iOS11及以上才有这个属性 _textView.textDragInteraction.enabled = NO;

    2K30

    JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度

    :window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离 scrollWidth:获取对象滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定父坐标的计算左侧位置...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度...(2)在随后JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口高度值和宽度值。

    8.1K30

    vue.js数据渲染完成后,获取页面高度问题

    遇到问题 通过接口请求出来数据,渲染到页面上,再获取元素内容高度时候,高度为0 为什么高度会是0 因为我是在接口返回数据后,就直接在回调函数里获取了元素内容高度。...虽然数据获取到了,但是页面还没有及时渲染出来,所以获取内容高度就为0了 然后我就延迟2秒获取内容高度,发现内容高度是渲染完成后正常高度,但是这样肯定是不行。...部分代码示例一: mounted() { this.getDataList(); //调用方法 }, methods: { //获取数据列表 getDataList() {...1&keywords=') .then(function (res) { that.dataList = res.data.data; //将获取数据赋值给...=1&keywords=') .then(function (res) { that.dataList = res.data.data; //将获取数据赋值给

    6.1K30

    JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转)

    window.screen.availWidth  HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth  scrollHeight: 获取对象滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离  scrollWidth:获取对象滚动宽度...  offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定父坐标的高度  offsetLeft:获取对象相对于版面或由 offsetParent 属性指定父坐标的计算左侧位置...window.innerWidth; else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度...(2)在随后JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口高度值和宽度值。

    16.2K10

    js 获取浏览器高度和宽度值(多浏览器)

    window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离 scrollWidth:获取对象滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定父坐标的计算左侧位置...offsetTop:获取对象相对于版面或由 offsetTop 属性指定父坐标的计算顶端位置 event.clientX 相对文档水平座标 event.clientY 相对文档垂直座标...--显示浏览器窗口实际尺寸--> 浏览器窗口 实际高度: 浏览器窗口 实际宽度

    10.4K60

    设计iOS中随系统键盘弹收和内容文字长度自适应高度文本框

    设计iOS中随系统键盘弹收和内容文字长度自适应高度文本框     文本输入框是多数与社交相关app中不可或缺一个控件,这些文本输入框应该具备如下功能: 1.在键盘为弹起时,输入框悬浮在界面底部...2.当键盘弹起时,输入框位置上移至键盘上方,并且动画应与键盘同步。 3.当输入文字超出一行时,输入框应想用进行高度扩展。...4.当输入框高度达到某一极限值时,输入框高度不应继续扩展,文字区域应该支持滑动。     使用autolayout布局技术加上对键盘相关监听,可以十分方便实现上述效果。...//获取信息中键盘尺寸和位置信息         let value:NSValue = info[UIKeyboardFrameBeginUserInfoKey] as! ...NSValue         //获取键盘动画时间信息         let value2:NSValue = info[UIKeyboardAnimationDurationUserInfoKey

    1.4K20
    领券