android判斷軟鍵盤是否彈出和隱藏,主要是通過InputMethodManager 這個類來監聽,如下代碼:
InputMethodManager?inputMethodManager?=?(InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);private?boolean?hideKeyboard(){?if(inputMethodManager.isActive(searchEditText)){
//因為是在fragment下,所以用了getView()獲取view,也可以用findViewById()來獲取父控件?getView().requestFocus();//強制獲取焦點,不然getActivity().getCurrentFocus().getWindowToken()會報錯?inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),?InputMethodManager.HIDE_NOT_ALWAYS);?inputMethodManager.restartInput(searchEditText);?return?true;?}?return?false;?}