2012-06-07 81 views
0

我已經看過幾個問題,並遇到幾個職位,但我無法弄清楚如何做到這一點。Android屏幕鍵盤沒有任何其他鍵盤

下圖顯示了基本的佈局: enter image description here

我創建了一個custom numpad並把它掛在回購協議。

目前,當應用程序打開時,編輯文本具有焦點,但任何用鍵盤輸入的內容都會進入edittext框。這部分功能正常工作。

問題:當我再次觸摸edittext時,會彈出系統輸入法以及巨大的鍵盤。我如何完全阻止它彈出?或者,我可以告訴應用程序只使用我的鍵盤而不是系統鍵盤嗎? (或者是編寫自定義時間的唯一方法?)

我不能在清單中使用NULL類型輸入,因爲這樣做會使edittext中的插入符號消失,而且如果有兩個編輯文本,我不知道哪個焦點。

任何幫助將不勝感激!

回答

1

你可以做幾件事情:

  1. 編程方式隱藏在整個應用程序:

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
    
  2. 隱藏它從視圖將它連接到:

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0); 
    
  3. 將EditText的輸入類型設置爲0:

    EditText yourEditText=(EditText)findViewById(R.id.editTextConvertValue); 
    yourEditText.setInputType(0); 
    
+0

1和2沒有工作,它並沒有停止鍵盤出現。 3.它最終刪除了脫字符,但我不想那樣。如果發生這種情況,問題是在一個包含兩個編輯文本的屏幕中,我無法確定焦點在哪裏 – gaara87

+0

錨點是接收輸入的EditText – Guardanis