2015-12-10 161 views
0

我已將自定義鍵盤添加到我的應用程序。 使用另一個具有文本輸入的應用程序時,它可以正常工作。我已更改settings/language and input,以便它被啓用並且也被用作默認值。Android - 如何顯示自定義鍵盤

我的問題是,我不知道如何在我的應用程序中顯示它。我有一個使用畫布繪製終端屏幕的視圖。沒有文字輸入,但我確實需要顯示鍵盤。

如何強制鍵盤顯示?我看到了幾種方法來完成它,使用清單,使用輸入法管理器等等,但是沒有一個適用於我的案例。 我必須將鍵盤的輸入集中顯示嗎?我不能只顯示它並隨時隱藏它嗎?

謝謝。

編輯:Imanaged通過添加文本輸入並單擊它以顯示鍵盤。但我仍然不知道如何在沒有文本輸入的情況下顯示它。

回答

1

您聲明它已經是默認設置。所以,你可以簡單地讓它手動顯示:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT); 

來隱藏它:

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

通過這種方式,用戶不必點擊文本輸入,使鍵盤顯示出來。如果這有幫助,請接受。

編輯

您還必須要求重點:

yourEditText.requestFocus() 
+0

感謝您的幫助,但我想這種方式以及其他幾個變種(toggleSoftInput,showSoftInput等)。它似乎不適用於幾個人。 – Virus721

+0

@ Virus721我想我有一個適合你的解決方案。嘗試添加:'yourEditText.requestFocus();'。它現在應該可以工作了! –

+0

@ Virus721檢查我的編輯 –