Android軟鍵盤(輸入法)隱藏問題2019-05-10

有時候,需要強制隱藏Android輸入法鍵盤,如當前鍵盤正在顯示,這個時候點擊了側滑面板,就要強制隱藏輸入法鍵盤。網上常見的方法有:

1、

    InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

這個是讓輸入法狀態發生逆轉,如果當前未顯示則顯示出來。如果顯示出來,則隱藏。因此是不符合本文所說的應用場景的。

2、

imm.hideSoftInputFromInputMethod(passwdEdit.getWindowToken(), 0);

測試在低于4.4系統的手機上無效。

3、

imm.hideSoftInputFromInputMethod(getActivity().getCurrentFocus().getWindowToken(), 0);

不起作用

上面的方法沒有效果,下面才是解決方式:

4、

imm.hideSoftInputFromWindow(passwdEdit.getWindowToken(), 0);

另外獲取鍵盤是否處在打開關閉狀態,系統方法是沒用的,如下:

InputMethodManager imm = (InputMethodManager) this
.getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
Log.i(TAG, "imm.isActive() = " + isOpen);

以上代碼獲取的isOpen一直為true


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容