Android中需要隐藏键盘的时候(这里有两个事件(方法)可以用来对键盘进行隐藏和显示):
/**
* 隐藏键盘
* 弹窗弹出的时候把键盘隐藏掉
*/
protected void hideInputKeyboard(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
/**
* 弹起键盘
*/
protected void showInputKeyboard(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(v, 0);
}
有时候我们希望点击空白处点击隐藏键盘就可以这样写,如果想在Fragment中实现隐藏键盘的效果就在对应的
Activity中写如下的回调方法就可以了(使用的时候注意把类换成自己对应的类就可以了):
/**
* 点击空白区域隐藏键盘.
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (EditDiaryActivity.this.getCurrentFocus() != null) {
if (EditDiaryActivity.this.getCurrentFocus().getWindowToken() != null) {
imm.hideSoftInputFromWindow(EditDiaryActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
return super.onTouchEvent(event);
}