【问题标题】:How to detect when Android software keyboard is hidden?如何检测Android软件键盘何时隐藏?
【发布时间】:2009-07-14 00:01:21
【问题描述】:

我需要检测 android 软件键盘何时隐藏。我的活动当前会在硬件键盘隐藏时做出响应,但软件键盘看起来只能通过大小更改事件来暗示。

有谁知道当软件键盘被用户取消键盘模式隐藏时,视图或活动可以接收通知的方式?

【问题讨论】:

  • 这听起来很糟糕,你到底想做什么?

标签: java android android-keypad


【解决方案1】:

强制软键盘始终可见有帮助吗?

您可以将其添加到 Activity 的 xml 文件中,以确保软键盘在该 Activity 中始终可见:

android:windowSoftInputMode="stateAlwaysVisible"

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

【讨论】:

    【解决方案2】:

    没有真正的方法可以检查,但是您可以检查对其执行的操作是否有效

    boolean isClosing = false;
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    isClosing = imm.hideSoftInputFromWindow(tabHost.getApplicationWindowToken(), 0);
    

    如果键盘已关闭,则返回 false;如果键盘已打开且现在正在关闭,则返回 true。

    【讨论】:

      【解决方案3】:

      我通过搜索后退键解决了这个问题。当收到返回键时,我知道软键盘将被取消。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-08
        • 1970-01-01
        • 2019-06-17
        • 2011-12-24
        • 1970-01-01
        • 2023-01-09
        • 1970-01-01
        • 2012-02-18
        相关资源
        最近更新 更多