Frage

Ich sehe diese Debug-Meldung häufig in LogCat.Zum Beispiel beim Streichen oder Drehen des Geräts.Der Emulator reagiert dann nicht auf die Ereignisse.Was bedeutet das?

Wenn ich die Drehung auf dem Emulator testen muss, aber in einigen Versionen, wenn ich STRG F12 oder STRG F11 drücke, passiert nichts (nun, das Gerät dreht sich als Ganzes, aber nicht auf dem Bildschirm) und ich sehe diese Meldung im Protokoll.Ich finde auch bei Google nichts ...

Ok, es ist PhoneGap-spezifisch.Ich habe im Quellcode von PhoneGap etwas gefunden:

 /**
  * We are providing this class to detect when the soft keyboard is shown 
  * and hidden in the web view.
  */
 class LinearLayoutSoftKeyboardDetect extends LinearLayout {

        private static final String TAG = "SoftKeyboardDetect";

Aber ich mache nichts mit einer weichen Tastatur, ich drehe nur das Gerät.Es ist vielleicht ein Fehler?

War es hilfreich?

Lösung

Ich kann Ihnen den Hintergrund zu diesem Protokoll geben.Es gibt einen Fehler in Android oder sie würden es als mangelnde Funktion bezeichnen, aber es wird kein Ereignis ausgelöst, wenn die Tastatur angezeigt wird oder verschwindet.Dies verursacht ein Problem für Webanwendungen, da die Tastatur die Bildschirmgröße verkürzt.Wenn die Bildschirmgröße kleiner wird, leidet Ihre Benutzeroberfläche.

Um in PhoneGap Android auf das Ein- und Ausblenden der Tastatur reagieren zu können, haben wir das LinearLayoutSoftKeyboardDetect implementiert, das im Grunde ein LinearLayout ist, aber auf Änderungen der Bildschirmgröße reagiert.Wenn Sie das Gerät drehen, wird die Breite zur Höhe und wir können die Änderung ignorieren. Wenn die Höhe jedoch dramatisch kleiner wird, während die Breite gleich bleibt, können Sie davon ausgehen, dass eine Tastatur angezeigt wird und wir ein Show-Tastaturereignis auslösen.Wenn die Höhe bei gleicher Breite dramatisch größer wird, wird ein Tastaturereignis zum Ausblenden ausgelöst.Sinn machen?

Andere Tipps

Diese Implementierung scheint sich auf die Situation auszuwirken -> Wenn die native Tastatur angezeigt wird, wird die Webansicht in Phonegap verkleinert.Wieder ändert sich die Demenz.Daher werden notwendige Ereignisse eher ignoriert.Ich möchte ein natives Tastendruckereignis auf der Tastatur erkennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top