一个控制键盘显示与隐藏的工具类分享给大家 public class KeyBoardTool { /** * 假设输入法在窗体上已经显示。则隐藏。反之则显示 * @param context */ public static void showOrhide(Context context){ InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } /** * 显示软键盘视图 * @param context * @param view为接受软键盘输入的视图 */ public static void showKeyBoard(Context context,View view){ InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED); } /** * 隐藏软键盘 * @param context * @param view为接受软键盘输入的视图 */ public static void hideKeyBoard(Context context,View view){ InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } /** * 获取输入法打开的状态 * @param context * @return 若返回true,则表示输入法打开 */ public static boolean getStateOfKeyBoard(Context context){ InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); return imm.isActive(); } }