隐藏软键盘

原创
2017/01/14 15:49
阅读数 44

隐藏软键盘只需要两句话:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        // 隐藏软键盘
        imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);

/**
 * 隐藏软键盘
 */
public void hideImm(){
   InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
   // 隐藏软键盘
   imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
}

下面为其他方法

显示软键盘:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.showSoftInput(getWindow().getDecorView(),InputMethodManager.SHOW_FORCED);  

在Fragment中不能这样获取View的对象 需要getActivity().getWindow().getDecorView()

最好判断一下getActivity是否为空。

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  

if(getActivity != null)
imm.showSoftInput(getActivity().getWindow().getDecorView(),InputMethodManager.SHOW_FORCED);  

隐藏软键盘:

            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            // 隐藏软键盘
            imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);

Fragment中与显示同理。

manifest中默认不弹出软键盘:

android:windowSoftInputMode="adjustUnspecified|stateHidden"
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部