首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

2K10

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

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

2.7K20

Android获取键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态

最近在项目中,需要获取到软键盘的高度,再将底部的布局上移键盘的高度,话不多说,直接上代码: 获取键盘高度 //一个静态变量存储高度 public static int keyboardHeight...*/ public static boolean isSoftInputShow(Activity activity) { // 虚拟键盘隐藏 判断view是否为空...= null; } return false; } } 监听键盘处于打开还是关闭状态: private void setListenerToRootView()...} else { //键盘收起 //Toast.makeText(getApplicationContext(), "键盘收起", Toast.LENGTH_SHORT...return heightDiff > softKeyboardHeight * dm.density; } ---- 小编整理了一份Android电子书籍,需要的童鞋关注公众号回复:"e_books" 即可获取

7.3K10
领券