package com.yuyh.library.utils; import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.os.Build; import android.view.View; import android.view.inputmethod.InputMethodManager; /** * 软键盘工具类 * * @author yuyh. * @date 16/4/9. */ @TargetApi(Build.VERSION_CODES.CUPCAKE) public class IMEUtils { /** * 切换键盘显示/隐藏状态 * * @param context */ public static void toggleSoftInput(Context context) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } /** * 显示键盘 * * @param view * @return */ public static boolean showSoftInput(View view) { InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); return imm.showSoftInput(view, InputMethodManager.SHOW_FORCED); } public static boolean showSoftInput(Activity activity) { View view = activity.getCurrentFocus(); if (view != null) { InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService( Context.INPUT_METHOD_SERVICE); return imm.showSoftInput(view, InputMethodManager.SHOW_FORCED); } return false; } /** * 隐藏键盘 * * @param view * @return */ public static boolean hideSoftInput(View view) { InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); return imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } public static boolean hideSoftInput(Activity activity) { if (activity.getCurrentFocus() != null) { InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); return imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); } return false; } /** * 判断键盘是否打开 * * @param context * @return */ public static boolean isActive(Context context) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); return imm.isActive(); } }