2013-08-19 28 views
0

我已經盡力隱藏默認的軟鍵盤輸入與隱藏默認的Android軟輸入的EditText不工作

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

,但是當我點擊的EditText鍵盤再次出現

我有也試過

input.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); 

android:imeOptions="flagNoExtractUi" 

沒有結果, 當我點擊EditText時,鍵盤總是出現。

如果我設置的inputType null,則keybard不會出現,但EDITTEXT變得不可用,因爲我不能選擇或再移動光標,也沒有複製粘貼任何東西

任何解決方案?

+0

所以,如果我讓你正確,你不希望鍵盤出現過? –

+0

@ShobhitPuri沒錯。我有一個自定義的鍵盤,並不希望鍵盤出現過,但我希望EditText遊標正常反應 – AndreaF

回答

2

如果你不想讓鍵盤出現過,使用此代碼:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, 
     WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 

這樣android的軟鍵盤將總是隱藏,並且你可以用光標,選擇複製,粘貼等。 一般。

0

設置不提取ui不起作用,這意味着不顯示手機在橫向顯示的大全屏視圖。鍵盤仍然會出現。

沒有api永久關閉鍵盤。如果你想這樣做,我會使用android:editable = false,那麼你將不得不自己處理所有的文本設置(因爲你沒有使用真正的輸入法)。

0
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); 

其中EDITTEXT是你的EditText組件的名稱。