Android di rilevare la rotazione dello schermo e larghezza
Domanda
Sto cercando di rilevare la rotazione dello schermo in Webkit sul mio Motorola Droid 1. Ho il seguente codice JavaScript:
var supportsOrientationChange = "onorientationchange" in window,
orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
alert("screen.width: " + screen.width + ", window.orientation: " + window.orientation);
}, false);
Il problema è: avvisi screen.width 569 quando il telefono viene ruotato in verticale, e 320 quando viene ruotato in orizzontale. Questo non ha alcun senso per me! Qualcuno può chiarire?
Grazie, Igor
Soluzione
Scommetto che esegue Android 2.2. C'è un bug nel reporting del browser di larghezza e altezza. Vedere screen.width + android e non dovrebbero window.screen.width / altezza corrispondono alla larghezza dello schermo attuale / altezza? per cominciare.
Mi piacerebbe avere qualcosa di meglio da offrire che la soluzione setTimeout()
in quel primo post, ma che può essere la migliore che si può fare. (Mi piacerebbe essere sbagliato su questo, quindi se qualcuno conosce una soluzione migliore, si prega di condividere!)