我的应用程序中有自己的键盘,所以我想一直隐藏软件键盘(在特定的活动和对话框中).我尝试了两个选项:
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)
此代码隐藏键盘,但它不会阻止键盘弹出.
请帮忙!
终于想通了!
我用了
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)
| 归档时间: |
|
| 查看次数: |
3349 次 |
| 最近记录: |