如何防止软键盘弹出?

时间:2011-10-05 18:10:03

标签: android keyboard

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

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

此代码阻止键盘在开头弹出,但当我点击文本框时键盘仍会弹出。

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);

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

请帮助!

1 个答案:

答案 0 :(得分:8)

终于想通了!

我用过

public void supressKeyboard() {
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
}

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

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

@Override
public boolean onTouchEvent(MotionEvent event) {
    return true;
}