轉(zhuǎn)自鏈接 ? ?http://www.cnblogs.com/niupi/p/6251663.html
軟鍵盤(pán)的隱藏方法一:
注:該方法其實(shí)是如果軟鍵盤(pán)隱藏的狀態(tài)這打開(kāi)軟鍵盤(pán),反之著相反。
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
軟鍵盤(pán)的隱藏方法二:
注:推薦使用這個(gè)
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),0);
軟鍵盤(pán)的代碼打開(kāi) 方法:
InputMethodManager imm=(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, InputMethodManager.SHOW_FORCED);//顯示輸入法
軟鍵盤(pán)顯示和隱藏的監(jiān)聽(tīng):
注: mReplayRelativeLayout是EditText的父布局
//監(jiān)聽(tīng)軟鍵盤(pán)是否顯示或隱藏
mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener() {
@OverridepublicvoidonGlobalLayout() {
Rect r=newRect();
mReplayRelativeLayout.getWindowVisibleDisplayFrame(r);intscreenHeight =mReplayRelativeLayout.getRootView()
.getHeight();intheightDifference = screenHeight -(r.bottom);if(heightDifference > 200) {//軟鍵盤(pán)顯示//changeKeyboardHeight(heightDifference);}else{//軟鍵盤(pán)隱藏}
}
});