Android開發 關於軟鍵盤的 打開與關閉


1、打開(顯示軟鍵盤)

//得到InputMethodManager的實例
InputMethodManager  inputMethodManager=
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
打開軟鍵盤(editText首先要獲取焦點)

開始我也不會,於是就百度一下網上各種搜索,發現普遍都是如下所示:

//inputMethodManager.showSoftInputFromInputMethod(this.getCurrentFocus().getWindowToken(), 
InputMethodManager.SHOW_IMPLICIT);

結果在模擬器和真機調試的時候,百般納悶,因為根本就不起作用,鍵盤始終沒有打開。至少Android4.2是如此,然后找到Android API,看看有沒有別的方法可用,最終確定showSoftInput(View view,Int flags)方法是有效的,意思就是在某視圖上打開軟鍵盤輸入區域。
inputMethodManager.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);

2、關閉(隱藏軟鍵盤)

和顯示相同,我開始也是同網上大多數說法一樣,用的是

//inputMethodManager.hideSoftInputFromInputMethod(this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);

同樣沒有效果,經查找API,方便的是,關閉軟鍵盤有容易理解的方法可以使用:

//從當前窗口中隱藏軟鍵盤

inputMethodManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
   

 

然而 顯示軟鍵盤 並沒有 showSoftInputFromWindow方法。

3、切換

切換狀態,顧名思義 也就是從顯示到隱藏,從隱藏到顯示軟鍵盤。

if (inputMethodManager.isActive()) {  
//切換
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);

inputMethodManager.toggleSoftInputFromWindow(windowToken, showFlags, hideFlags);

都可以!

還是要多嘗試,才有答案!


注意!

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



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