虽然很简单,而且没有什么价值,但还是记录一下方便自己查找使用:
InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
这两行代码起的作用是:当键盘当前激活状态时,会隐藏键盘,隐藏状态时,会激活键盘。
如何监听键盘的改变,目前并没有发现好的方法,有一个方法倒是可以起到一些作用:原理是监听根视图的变化,当根视图高度变化超过一定的值的时候,就认为键盘弹出了:
final RelativeLayout rlRootView = (RelativeLayout)findViewById(R.id.rl_rootview);//这个是你的根视图 rlRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int heightDiff = rlRootView.getRootView().getHeight() - rlRootView.getHeight(); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard... Log.e("*******heightDiff:", ""+heightDiff); } } });
注意,需要在使用到键盘的Activity中添加:
android:windowSoftInputMode="adjustResize"
还有就是当前的Activity不能为全屏,即不能有这个属性,否则监听不到变化
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
自动弹出键盘:
android:windowSoftInputMode="stateAlwaysVisible"
如果要让底部的状态栏显示在键盘之上(即,被键盘推上去)的话,需要加上adjustResize。
android:windowSoftInputMode="adjustResize|stateAlwaysVisible"
参考链接:
http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android
相关推荐
### 系统键盘相关介绍及Windows API的整理 本文旨在探讨如何在Windows环境下利用C++语言来调用系统键盘,并重点介绍如何通过编程方式关闭系统键盘。为了更好地理解和操作这一功能,我们首先需要掌握几个核心概念和...
**MW75客制化QMK键盘相关资源文件详解** MW75键盘是一款深受爱好者喜爱的客制化键盘,它以其独特的设计、丰富的可定制性和兼容性强大的QMK固件吸引了许多技术爱好者。本资源包提供了MW75键盘在安装、配置以及固件...
它可以帮助用户检测键盘的每一个细节,从基本按键到特殊功能键,甚至可以测试与键盘相关的鼠标功能。通过提供的帮助文件和布局信息,用户能够轻松理解和操作软件,以便对键盘进行全面的诊断和维护。
激光键盘相关资料 硬件+算法+软件 目录如下: 低成本激光投射虚拟键盘(算法与实现) .zip 低成本激光投射虚拟键盘(原理+硬件) .zip 激光键盘软件源代码编译和修改指南+源代码.zip 配套的使用文档+处理软件zip
易语言源码易语言取键盘相关信息源码.rar
解决键盘锁定问题通常需要了解如何诊断和处理与键盘相关的系统问题。以下是一些可能的解决方案: 1. **重启计算机**:这是最简单的尝试方法,有时系统的小故障可以通过重启来解决。 2. **检查硬件连接**:确保键盘...
在标签“键盘”和“检测器”的指导下,我们可以深入探讨一下键盘相关的问题。键盘的常见故障除了按键失灵,还包括按键卡住、按键延迟、无故重复输入等。这些问题可能由灰尘积累、内部弹簧损坏、连接线接触不良、驱动...
如果你需要深入理解USB键盘的内部工作原理或者进行键盘相关的软件开发,这份文档将是一个宝贵的资源。 总之,USB键盘通过USB接口发送固定格式的数据包,包括扫描码和其他状态信息,以告知主机用户的具体输入。这种...
本文将深入探讨“电脑键盘相关设计网站模板”这一主题,它包括六个子页面,适用于设计公司建立全站模板使用。 首先,我们要理解什么是网页模板。网页模板是预先设计好的HTML文件,通常包含了基本的CSS样式和...
这里暗示了一个潜在的问题,即键盘禁用可能会影响到某些与键盘相关的硬件或系统设置,比如风扇控制逻辑等。 #### 内容详解 ##### 背景介绍 文章首先给出了问题发生的背景——笔记本电脑进水导致键盘失灵并自动按键...
本文将深入探讨MW65键盘的相关资源文件,帮助你全面理解并掌握这款键盘的配置与使用。 首先,我们来看看“MW65外壳组装说明.docx”。这份文档详细介绍了MW65键盘的组装过程,包括各个组件的装配顺序、注意事项以及...
例如,mdlWinIO可能包含了与WinIO.dll交互的函数,mdlKey可能处理键盘相关的逻辑,而mdlFunction则可能是一些通用的辅助函数。 WinIo.dll是外部库文件,包含了实现低级I/O操作的函数。VB程序通过导入这个库,能够...
2. 关闭所有可能与键盘相关的应用程序,以防冲突。 3. 连接S78A键盘至计算机的PS/2接口。 4. 执行驱动程序安装包,按照向导提示进行操作。 5. 完成安装后,重启计算机以使新驱动生效。 6. 在设备管理器中确认键盘...
Android 软键盘调整界面问题解决方案 Android 软键盘的问题是 Android 开发中常见的问题之一。...通过了解软键盘的状态和调整方法,可以更好地解决软键盘相关问题,提高 Android 应用程序的用户体验。
通过以上这些Win32 API,开发者可以实现各种键盘相关的功能,包括但不限于键盘输入模拟、按键状态监测、自定义键盘快捷键、键盘事件的响应等。这些技术在游戏开发、自动化工具、系统增强软件等领域都有广泛的应用。...
标题中的“键盘诊断工具”是一种专门用于检测和分析USB键盘功能的软件,它旨在帮助用户检查键盘是否正常工作...通过运行“键盘诊断程序.exe”,用户可以深入理解键盘的工作原理,有效提升键盘相关工作的效率和准确性。
通过这份资料,用户可以更好地理解和掌握键盘技术,提高日常工作效率,甚至在各种键盘相关的比赛中大放异彩。"键盘资料(全).zip"不仅仅是一个资源集合,它更是键盘技术发展和应用的桥梁,连接着制造商、技术开发者...
标题中的“input 键盘总结”意味着我们将探讨与输入设备,特别是键盘相关的技术知识。键盘作为计算机用户最常使用的交互工具之一,其设计、工作原理和技术特性都是IT领域的重要组成部分。 在计算机科学中,键盘主要...
在iOS开发中,与键盘相关的交互是不可或缺的一部分。本文将深入探讨如何在iOS应用中获取并处理系统键盘,包括键盘的高度和弹出速度,以及如何实现与第三方键盘的兼容。 首先,我们需要理解iOS中的键盘机制。苹果...
通过重写`Activity`的`onWindowFocusChanged`方法,判断焦点变化是否与软键盘有关,然后结合`InputMethodManager`的`getInputMethodState()`等方法,分析按键事件。 ```java @Override public void ...