0

Ich habe ein ungewöhnliches Problem mit meiner Android App. Wenn ich ein Eingabefeld auf einer Webseite fokussiere, erscheint die Soft-Tastatur und verschwindet sofort.Verschwinden der weichen Tastatur in Android App

Die App integriert Crosswalk für die Browser-Funktionalität, obwohl ich sagen möchte, dass dies früher geschah, wenn ich WebView vorher verwendete.

Dies ist eine Bildschirmaufnahme des Problems:

Disappearing soft keyboard

Es scheint zu sein, drückt oder die HTML Ändern der Größe der Soft-Tastatur gerecht zu werden, aber aus irgendeinem Grund versagt.

Weiß jemand, warum das passiert und noch wichtiger, wissen, wie man es beheben kann?


EDIT: Ich habe festgestellt, dass, wenn ich android hinzufügen: windowSoftInputMode = "adjustPan" meiner AndroidManifest.xml Datei, ist das Problem nicht geschieht. Setzen Sie es auf "adjustResize" macht es immer möglich.

Würde gerne noch etwas Hilfe, wenn jemand die Antwort :)

Antwort

0

Die Lösung hierfür ist eine Abhilfe zu einer Android-Marotte (von denen es viele gibt) kennt. Von dem, was ich gelesen habe, passiert dies nicht auf iOS, aber ich habe es nicht getestet, um es zu bestätigen.

Das Problem ist, wenn die Soft-Tastatur angezeigt wird, löst es eine Fenstergrößenänderung aus. Wenn Sie wie ich mit einer reaktionsschnellen Website arbeiten, verfügen Sie wahrscheinlich über Code, der die Größenänderung übernimmt. Wenn die Tastatur angezeigt wird, tritt eine Größenänderung des Fensters auf und die Tastatur verschwindet aufgrund benutzerdefinierten benutzerdefinierten Größencodes.


Lösung 1:

Die Lösung ist die Größe Ereignisse neu zu schreiben orientationChange Ereignisse. Obwohl dies keine ideale Situation ist, wenn eine App das einzige Ziel ist, sollte es in Ordnung sein.

Um zu klären, Wechsel von (mit jQuery):

$(window).resize (function() 
{ 
    // Code on resize 
}); 

Wechsel zu (mit jQuery):

$(window).bind ('orientationchange', function() 
{ 
    // Code on screen rotation 
}); 

Ich bin nicht sicher, Unterstützung des Browsers für orientationChange, da es nicht ist verfügbar auf , aber ich kann sagen, dass es mit der aktuellen Version von Crosswalk (19.49.514.4) funktioniert.


Lösung 2:

Eine alternative Lösung von chrisdew bei https://stackoverflow.com/a/9229672/3509051 vorgeschlagen schlägt „Hinzufügen eines Zuhörers zu den Fokus-Ereignis des Eingangs, die Ereignisse für 0,5s, um die Größe deaktiviert Reagieren“. Dies sollte auch funktionieren, wenn Sie eine Verzögerung von 0,5 s wünschen, wenn eine Eingabe fokussiert ist.