软键盘关闭的终极版

软键盘是个神奇的东西,当你知道是哪个view调起的软键盘,关闭起来so easy,最怕的就是不知道view是哪个?以及是否是上一个界面finish没有关闭的软键盘,为此有了如下的代码:

public static void hideKeyboard(Activity activity) {InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
    // 找到当前获得焦点的 view,从而可以获得正确的窗口 token
    View view = activity.getCurrentFocus();
    // 如果没有获得焦点的 view,创建一个新的,从而得到一个窗口的 token
    if (view == null) {view = new View(activity);
    }inputMethodManager.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0);
    if(inputMethodManager.isActive()){Log.i("LG","键盘还没关闭");
        activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    }else{Log.i("LG","键盘已经关闭");
    }
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部