我的应用程序中有自己的键盘,所以我想一直隐藏软件键盘(在特定的活动和对话框中)。 我尝试了两个选项:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
此代码阻止键盘在开头弹出,但当我点击文本框时键盘仍会弹出。
InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
此代码隐藏键盘,但不会阻止键盘弹出。
请帮助!
答案 0 :(得分:8)
终于想通了!
我用过
public void supressKeyboard() {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
用于我想要压制键盘的活动(你可以将它放在所有其他活动继承的一般活动中)
但是,当您单击EditText文本框时,这不会阻止键盘弹出。我做的是我为文本框消耗了onTouch事件:
@Override
public boolean onTouchEvent(MotionEvent event) {
return true;
}