如何防止软键盘弹出?

Han*_*Han 5 keyboard android

我的应用程序中有自己的键盘,所以我想一直隐藏软件键盘(在特定的活动和对话框中).我尝试了两个选项:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)

此代码阻止键盘在开始时弹出,但是当我单击文本框时,键盘仍会弹出.

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)

此代码隐藏键盘,但它不会阻止键盘弹出.

请帮忙!

Han*_*Han 8

终于想通了!

我用了

public void supressKeyboard() {
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
}
Run Code Online (Sandbox Code Playgroud)

对于我想要压制键盘的活动(你可以将它放在所有其他活动继承的一般活动中)

但是,当您单击EditText文本框时,这不会阻止键盘弹出.我做的是我为文本框消耗了onTouch事件:

@Override
public boolean onTouchEvent(MotionEvent event) {
    return true;
}
Run Code Online (Sandbox Code Playgroud)