如何检测android软键盘“Will Show”事件

时间:2017-04-11 15:43:20

标签: android html cordova input keyboard

我有一个cordova Android应用程序。 我试图阻止原生Android键盘在用户点击html输入时显示,或者输入以编程方式获得焦点。 它在那里为Android的东西:

keyboard.addEventListener('will-show', 
   functon(event){
     event.disableKeyboardShow();
});

提前致谢!

1 个答案:

答案 0 :(得分:0)

我不知道是否有像你指出的事件。但是你可以通过这样做来阻止键盘自动显示:

1)插入你的onCreate():

    InputMethodManager imm = (InputMethodManager) this.getSystemService(Activity.INPUT_METHOD_SERVICE);
    View view = this.getCurrentFocus();
    if (view == null) {
        view = new View(this);
    }
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

2)然后,您可以确保EditText可以在需要时通过在EditText的父布局中添加android:focusable="true"android:focusableInTouchMode="true"元素来获得焦点,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout" android:focusable="true" android:focusableInTouchMode="true">

如果您不希望您的EditText获得焦点,请将false放在第2步的元素上并插入另一个:android:descendantFocusability="blocksDescendants"