android 软键盘显示和隐藏,切换状态

来源:互联网 发布:二甲双胍 知乎 编辑:程序博客网 时间:2024/05/27 10:43
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 * @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();    }}
0 0
原创粉丝点击