11

我使用PhoneGap的開發Android的web應用程序,因爲我將在HTML我自己的鍵盤,我需要禁用Android的系統鍵盤所有輸入關閉軟鍵盤,防止它從當用戶點擊任何文本輸入字段時顯示。我不想使用只讀輸入字段或onblur(),因爲我希望將光標置於文本字段中,以便用戶在輸入輸入時可以移動光標位置。如何徹底請在Android的WebView

所以我想在默認情況下完全禁用Android的鍵盤,我試圖將android:windowSoftInputMode="stateAlwaysHidden"添加到manifest.xml但這不起作用。

我也嘗試使用here的JavaScript接口,但在Android 2.3.x上有一個javascript-java橋接器崩潰問題(link to issue)。所以我現在還沒有一個好的解決方案。請幫忙。

提前感謝任何幫助。

+0

您是否配置了'WebView'的'WebViewClient'和'WebChromeClient'?我參與了一個使用jQuery Mobile的項目,並且我們必須配置這兩個才能正常工作。您可能必須攔截JS事件並將其綁定到本機代碼中的Java邏輯中。我會研究這個,並讓你更新。 – 2012-07-23 05:59:33

+0

感謝您的提示,但我認爲phonegap已經配置了webviewclient和webchromeclient。我會更多地關注它。謝謝 – kli 2012-07-23 17:58:10

+1

好的,請看下面我的建議。它看起來並不是一個很好的方法來做到這一點,但是在很多情況下,再次在Android中做出任何事情都是不可能的。 – 2012-07-23 22:15:52

回答

1

好吧,你有幾種選擇!你可以嘗試完全禁用鍵盤使用:

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

    • 如果你選擇這種方式時,一定要設置恢復爲正常的,如果這不是自動完成的。我以前沒有用過這個,也不能告訴你它的行爲如何,但請記住!你不希望用戶答覆他們在使用你的應用程序只讓他們的鍵盤禁用:)收到短信


  • 你可以使用類似的東西以下鏈接。我沒有徹底地挖掘它(tl; dr),但是他創建了一個自定義視圖,該視圖從android.inputmethodservice.KeyboardView開始並使用它。