android隱藏關閉軟鍵盤
現在有一個需求是說希望可以自動的隱藏和開啟軟鍵盤,場景是使用在alert dialog中有一個文字框,彈出dialog同時自動彈出鍵盤,編輯後點擊完成直接關閉。使用的方式是:
inputManager.showSoftInput(tvEditor, InputMethodManager.SHOW_FORCED);
如果使用引數InputMethodManager.SHOW_IMPLICIT,就不會自動彈出鍵盤,但是使用SHOW_FORCED後使用各種方法都無法自動關閉鍵盤,必須按back鍵。
在vivo中很多自動隱藏鍵盤方法都ok,但是三星沒有一個方法可行,包含不僅限於如下方式:
(1)inputManager.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,InputMethodManager.HIDE_IMPLICIT_ONLY);
(2)dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
(3)dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
(4)inputManager.hideSoftInputFromInputMethod(tvEditor.getWindowToken(),0);
(5)inputManager.hideSoftInputFromInputMethod(dialog.getWindow().getDecorView().getWindowToken(),0);
最後無意中google到,只要toggle成對使用就ok,然後顯示使用
inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
隱藏也使用
inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
目前測試三星和vivo都ok。