有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    我也有同样的问题。但我所做的是使用一个已经完成的库。检查此链接:androidLibrary

    只要按照这一步走,你就完成了。导入库,然后使用提供给您的代码

    您只需导入依赖项,如:

    dependencies {
        compile 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.0.0'
    }
    

    并实施此方法:

    KeyboardVisibilityEvent.setEventListener(
            getActivity(),
            new KeyboardVisibilityEventListener() {
                @Override
                public void onVisibilityChanged(boolean isOpen) {
                    // some code depending on keyboard visiblity status
                }
            });
    

    这是最基本的主要功能

  2. # 2 楼答案

    假设您在较新的Android版本上使用软键盘,那么下面来自KeyEvent reference的简介解释了获取软键事件的关键限制

    “由于软输入法可以使用多种创造性的文本输入方式,不能保证软键盘上的任何按键都会生成按键事件:这是由IME自行决定的,事实上,不鼓励发送此类事件。绝不能依赖软输入法接收任何按键的按键事件。特别是,默认的软件键盘永远不会向任何针对Jelly Bean或更高版本的应用程序发送任何按键事件,只会向针对冰淇淋三明治或更早版本的应用程序发送一些按delete键和return键的事件。请注意,无论版本如何,其他软件输入方法可能永远不会发送关键事件。如果需要与软件键盘进行特定的交互,请考虑使用像IMEYActhOngION这样的编辑器操作,因为它给用户更多的可见性,说明您的应用程序对按键的反应。"

    我认为使用TextWatcher接口可能是最接近你想要的