【发布时间】:2009-07-14 00:01:21
【问题描述】:
我需要检测 android 软件键盘何时隐藏。我的活动当前会在硬件键盘隐藏时做出响应,但软件键盘看起来只能通过大小更改事件来暗示。
有谁知道当软件键盘被用户取消键盘模式隐藏时,视图或活动可以接收通知的方式?
【问题讨论】:
-
这听起来很糟糕,你到底想做什么?
标签: java android android-keypad
我需要检测 android 软件键盘何时隐藏。我的活动当前会在硬件键盘隐藏时做出响应,但软件键盘看起来只能通过大小更改事件来暗示。
有谁知道当软件键盘被用户取消键盘模式隐藏时,视图或活动可以接收通知的方式?
【问题讨论】:
标签: java android android-keypad
强制软键盘始终可见有帮助吗?
您可以将其添加到 Activity 的 xml 文件中,以确保软键盘在该 Activity 中始终可见:
android:windowSoftInputMode="stateAlwaysVisible"
http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
【讨论】:
没有真正的方法可以检查,但是您可以检查对其执行的操作是否有效
boolean isClosing = false;
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
isClosing = imm.hideSoftInputFromWindow(tabHost.getApplicationWindowToken(), 0);
如果键盘已关闭,则返回 false;如果键盘已打开且现在正在关闭,则返回 true。
【讨论】:
我通过搜索后退键解决了这个问题。当收到返回键时,我知道软键盘将被取消。
【讨论】: