11

私はAndroid用のWebアプリケーションを開発するためにphonegapを使用していますが、HTMLで自分のキーパッドを使用するので、Androidのシステムキーボードを無効にし、ユーザーが任意のテキスト入力フィールドをクリックしたときに表示されます。私はテキスト入力フィールドにカーソルを置いて、入力を入力している間にカーソル位置を動かせるようにしたいので、readonly入力フィールドまたはonblur()を使用したくありません。Android webviewのすべての入力に対してソフトキーボードを完全に無効にする方法

デフォルトでAndroidのキーボードを完全に無効にしたい場合、android:windowSoftInputMode="stateAlwaysHidden"manifest.xmlに追加しようとしましたが、これは機能しません。

また、hereのjavascriptインターフェイスを使用してみましたが、Android 2.3.x(link to issue)にjavascript-javaブリッジクラッシュの問題がありました。だから私はまだ良い解決策を持っていません。助けてください。

ありがとうございました。

+0

あなたは 'WebView'の' WebViewClient'と 'WebChromeClient'を構成していますか?私はjQuery Mobileを使ったプロジェクトに取り組んでいました。両方を適切に動作させるためにはそれらを設定する必要がありました。 JSイベントをインターセプトしてネイティブコードのJavaロジックに結びつける必要があるかもしれません。私はこれを見て、あなたの更新を続けます。 –

+0

ヒントはありがとうございますが、私はphonegapがすでにwebviewclientとwebchromeclientの両方を設定していると思います。私はそれをさらに見ていきます。ありがとう – kli

+1

さて、以下の私の提案を見てください。これを行うにはかなりの方法があるようには見えませんが、Androidで何か面白くやっていることは、多くの場合不可能に近くなります。 –

答えて

1

さて、いくつかのオプションがあります。あなたは完全に使用してキーボードを無効にしてみてください:

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

    • あなたがこの方法を選択した場合、それが自動的に行われていない場合、正常に設定を戻してください。私は以前これを使っておらず、それがどう動いているか教えてもらえませんでしたが、心に留めておいてください!あなただけの彼らのキーボードが無効になって持っているあなたのアプリを使用している間、ユーザーは、彼らが受け取るテキストに返信する必要はありません:)
    • あなたはのようなものを使用することができ


  • 続くリンク。私はそれを非常に徹底的に掘り下げていませんが(tl; dr)、彼はandroid.inputmethodservice.KeyboardViewから拡張されたカスタムビューを作成し、その代わりに使用します。

  • https://stackoverflow.com/a/1947370/1183256
  • 関連する問題