转自链接 http://www.cnblogs.com/niupi/p/6251663.html
软键盘的隐藏方法一:
注:该方法其实是如果软键盘隐藏的状态这打开软键盘,反之着相反。
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
软键盘的隐藏方法二:
注:推荐使用这个
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),0);
软键盘的代码打开 方法:
InputMethodManager imm=(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, InputMethodManager.SHOW_FORCED);//显示输入法
软键盘显示和隐藏的监听:
注: mReplayRelativeLayout是EditText的父布局
//监听软键盘是否显示或隐藏
mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener() {
@OverridepublicvoidonGlobalLayout() {
Rect r=newRect();
mReplayRelativeLayout.getWindowVisibleDisplayFrame(r);intscreenHeight =mReplayRelativeLayout.getRootView()
.getHeight();intheightDifference = screenHeight -(r.bottom);if(heightDifference > 200) {//软键盘显示//changeKeyboardHeight(heightDifference);}else{//软键盘隐藏}
}
});