解決一進入Activity就自動彈出虛擬鍵盤

只要在Activity的onCreate階段,加上以下程式碼即可。

 
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

 

或是在AndroidManifest.xml中,設定Activity的android:windowSoftInputMode屬性,如下:

<activity
    android:name="org.magiclen.TestActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateHidden" />

 

設定windowSoftInputMode屬性為State Hidden之後,進入Activity時,EditText依然會取得焦點,但不會立刻彈出虛擬鍵盤,還要再點擊一次EditText才會彈出鍵盤。問題成功解決了!

 

解決一彈出Dialog又再自動彈出虛擬鍵盤

Dialog中若有EditText,也會遇到和Activity一樣,在出現Dialog的同時又再自動彈出虛擬鍵盤的狀況。解決方法跟Activity相同,取得Dialog的Window後,使用setSoftInputMode方法來設定隱藏鍵盤,程式碼如下:

 

 

 

AlertDialog dialog = new AlertDialog.Builder(this).setView(editText).create();
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
dialog.show();

文章標籤
創作者介紹
創作者 忽倫 的頭像
忽倫

一段輝煌的回憶,一個冬日的故事

忽倫 發表在 痞客邦 留言(0) 人氣()