1、InputMethodManager介绍
InputMethodManager是一个用于控制显示或隐藏输入法面板的类。
获取InPutMethodManager的方法很简单:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
2、InputMethodManager用法
2.1、显示软键盘
et.requestFocus();
final InputMethodManager imm = (InputMethodManager) et.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (null != imm) {
imm.showSoftInput(et,InputMethodManager.SHOW_FORCED);
}
2.2、隐藏软键盘
et.requestFocus();
final InputMethodManager imm = (InputMethodManager) et.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (null != imm) {
imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
imm.hideSoftInputFromWindow(et.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}
2.3、实现输入法在窗口上切换显示,如果输入法在窗口已经显示,则隐藏;如果已经隐藏,则显示软键盘。
et.requestFocus();
final InputMethodManager imm = (InputMethodManager) et.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (null != imm) {
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
2.4、判断当前软键盘状态是打开 or 关闭
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
|