11

Ich benutze Phonegap, um eine Web-App für Android zu entwickeln, und da ich meine eigene Tastatur in HTML haben werde, muss ich androids Systemtastatur deaktivieren, die es verhindert erscheint, wenn der Benutzer auf ein Texteingabefeld klickt. Ich möchte das schreibgeschützte Eingabefeld oder onblur() nicht verwenden, da ich den Cursor im Textfeld haben möchte, damit Benutzer die Cursorposition bewegen können, während sie Eingaben eingeben.Wie Sie Soft-Tastatur für alle Eingabe in Android Webview vollständig deaktivieren

Also ich möchte Android-Tastatur auf Standard deaktivieren, habe ich versucht android:windowSoftInputMode="stateAlwaysHidden" zu manifest.xml hinzufügen, aber das funktioniert nicht.

Ich versuche auch eine Javascript-Schnittstelle von here, aber es gab eine Javascript-Java-Brücke Absturz Problem auf Android 2.3.x. (link to issue). Ich habe also immer noch keine gute Lösung. Bitte helfen Sie.

Vielen Dank im Voraus für jede Hilfe.

+0

konfiguriert haben Sie die '' WebView' des WebViewClient' und 'WebChromeClient'? Ich arbeitete an einem Projekt, das jQuery Mobile verwendete, und wir mussten beide konfigurieren, damit die Dinge richtig funktionieren. Möglicherweise müssen Sie ein JS-Ereignis abfangen und im systemeigenen Code an die Java-Logik binden. Ich werde das prüfen und Sie auf dem Laufenden halten. –

+0

Danke für die Tipps, aber ich denke, phonegap konfiguriert bereits sowohl webviewclient und webchromeclient. Ich werde mehr darüber nachdenken. danke – kli

+1

Okay, schauen Sie sich meine Vorschläge unten an.Es sieht nicht so aus, als ob es einen schönen Weg dazu gäbe, aber in Android ist es in vielen Fällen fast unmöglich, etwas Schönes zu tun. –

Antwort

1

Okay, Sie haben ein paar Optionen! Sie können versuchen, die Tastatur zu deaktivieren vollständig mit:

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

    • Wenn Sie auf diese Weise wählen, müssen Sie die Einstellungen wieder normalisieren, wenn das wird nicht automatisch. Ich habe das vorher nicht benutzt und konnte dir nicht sagen, wie es sich verhält, aber behalte das im Hinterkopf! Sie wollen nicht ein Benutzer auf einen Text antworten sie erhalten, während die App nur ihre Tastatur :)


  • deaktiviert haben könnten Sie etwas Ähnliches wie die Verwendung folgender Link. Ich habe es nicht gründlich durchgegraben (tl; dr), aber er erstellt eine benutzerdefinierte Ansicht, die sich von android.inputmethodservice.KeyboardView erstreckt und stattdessen verwendet.