2013-08-08 18 views
7

Das ursprüngliche Problem kämpfe ich komplexer ist aber für die Zwecke der Untersuchung habe ich den Testfall an folgende vereinfacht:Android Soft-Tastatur Panning nicht Webansicht

  • Einzelvollbild-Aktivität
  • programmatisch erstellt Web-Ansicht, dass nimmt etwa die Hälfte des horizontalen Bildschirmraumes, 90% des vertikalen Raumes und ist mit der Stammansicht über innerhalb des onCreate Anruf hinzugefügt:

ViewGroup parent = (ViewGroup) getWindow().getDecorView().getRootView(); parent.addView(myWebView);

  • Web-Ansicht öffnet sich zu google.com über:

loadUrl("http://google.com")

  • AndroidManifest.xml hat die Eigenschaft:

"android:windowSoftInputMode="adjustPan"

Wenn auf das Suchfeld klicken Auf der Google-Seite erscheint die Tastatur, aber die Web-Ansicht Lf wird nicht hochgeschoben, wie adjustPan anzeigt, sollte passieren. Die Hauptaktivität verfügt außerdem über ein natives Textfeld, das beim Anklicken das gesamte Layout (einschließlich der Webansicht) wie erwartet verschiebt.

Das Verhalten ist sowohl auf einem Nexus 7 als auch auf einem Galaxy Nexus auf 4.2.2 vorhanden. Die Frage ist, wie kann ich die windowSoftInputMode -Eigenschaft adjustPan korrekt auf eine Web-View-Instanz angewendet werden, so dass, wenn die Soft-Tastatur angezeigt wird, die gesamte Web-Ansicht um den vertikalen Platz nach oben verschoben von der Tastatur verschoben wird.

Bevor ich auf die Straße gehe und versuche, das Layout manuell in onMeasure zu manipulieren, möchte ich sehen, ob es einen konsistenten/besseren Weg gibt, damit umzugehen. Der Browser behandelt diese Situation offensichtlich richtig, also nicht sicher, warum die Webansicht dies nicht kann.

Eine Sache zu beachten ist, dass das Erstellen der Webansicht Vollbild oder eine separate Aktivität nicht möglich Optionen aufgrund einer vorhandenen Architektur, die ich nicht ändern kann.

+1

Ich habe genau das gleiche Problem. Ich kann "adjustResize" nicht verwenden, weil es die Webansicht verkleinert und nicht gut aussieht. Hast du irgendeine Lösung? Im letzten Absatz erwähnten Sie "Eine Sache .... zu ändern"; Können Sie bitte diese Optionen erklären, so dass andere (einschließlich mir) es verwenden können –

+0

Ich brauche auch Hilfe – DropAndTrap

+0

http://StackOverflow.com/Questions/18765610/android-softkeyboard-hiding-textfield-inside-Webview – DropAndTrap

Antwort

Verwandte Themen