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。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: