2011-08-01 93 views
6

我正在開發一個由android編輯文本按鈕組成的小應用程序。只有在編輯文本不爲空時,按鈕纔會顯示。由於我使用的是LG Optimums Android設備,因此每次點擊編輯文本時,它都會顯示LG設備,LG鍵盤會出現,但我不想要那個鍵盤我想要Android使用關鍵板。我也知道我可以進入設置=>語言&鍵盤&我可以更改該鍵盤。但我不想使用,我希望它只應通過編碼完成。以編程方式更改Android設備的輸入方法android

thanx的任何幫助.....

回答

2

至於I've seen,並從Android員工here,這是根本不可能以編程方式改變輸入法 - 這是完全依賴於最終用戶選擇他們喜歡的IME。

14

無法以編程方式更改用戶的鍵盤設置。你唯一能做的就是建議用戶改變它並幫助它做到這一點。例如,這將顯示一個對話框讓他們更換鍵盤:

private void showInputMethodPicker() { 
     InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE); 
     if (imeManager != null) { 
      imeManager.showInputMethodPicker(); 
     } else { 
      Toast.makeText(this, R.string.not_possible_im_picker, Toast.LENGTH_LONG).show(); 
     } 
    } 
+0

什麼,如果有一個根深蒂固設備,並且可以安裝應用程序,以'/ system'? (儘管我沒有固件證書,即不能使用與固件相同的密鑰簽署我的應用程序) –

+0

謝謝!克里斯蒂安。我正在尋找相同的東西。 –

2

就像保羅說你不能改變輸入法;但是,您可以通過隱藏它來禁用android軟鍵盤

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

然後創建一個類似於android軟鍵盤的視圖。 Check this out.

0

改變鍵盤從您的應用程序上的按鈕點擊:

   Button keyboard = (Button) findViewById(R.id.keyboardChange); 
    keyboard.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) 
     { InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE); 
      imeManager.showInputMethodPicker(); 
     } 
    }); 
相關問題