2013-03-14 7 views
11

Aplikacja na Androida zwraca nieprawidłowy rozmiar (320x480) na wydarzenie onDeviceReady, ale po kilku sekundach rozmiar staje się prawidłowy.PhoneGap/Cordova Android uzyska rozmiar ekranu po onDeviceReady

Jak możemy uzyskać prawidłowy rozmiar na samym początku? Czy jest jakieś wydarzenie, na którym mogę uzyskać prawidłowy rozmiar?

używam tej funkcji, aby uzyskać rozmiar:

function getWindowSizes() { 
 var windowHeight = 0, windowWidth = 0; 
 if (typeof (window.innerWidth) == 'number') { 
     windowHeight = window.innerHeight; 
     windowWidth = window.innerWidth; 
      
 } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 
     windowHeight = document.documentElement.clientHeight; 
     windowWidth = document.documentElement.clientWidth; 
      
 } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { 
    windowHeight = document.body.clientHeight; 
    windowWidth = document.body.clientWidth; 
 } 
 return [windowWidth, windowHeight]; 
} 

rzutni:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

Korzystanie Cordova 2.5.0.

UPD:
Jak widać na tym zrzucie ekranu uruchamia się aplikacja o mniejszym rozmiarze. Nawet pusty projekt z Cordova to robi. Jak mogę to naprawić?

enter image description here

Dzięki!

+2

żadnego postępu w tej materii ? Każda z odpowiedzi zadziałała dla ciebie? – Fardin

+0

Mam problem, każdy postęp? – poordeveloper

+0

Niestety nie rozwijam już aplikacji Cordova. Jeśli będę mieć czas, spróbuję odtworzyć i sprawdzić następujące rozwiązania. Ale jeśli to nie zadziała dla ciebie, to też nie zadziała dla mnie. – dymv

Odpowiedz

3

Usuń właściwości wysokości, szerokości i gęstości w indeksie nagłówków meta.

+0

Czy możesz wyjaśnić swoją odpowiedź nieco bardziej szczegółowo? Wygląda jak ślepy domysł ... – Trinimon

+1

Używam Thierry

0

Spróbuj usunąć pozycję: bezwzględna właściwość w klasie aplikacji (wewnątrz index.css). To działa dla mnie.

1

Spróbuj usunąć cel-densitydpi w nagłówku.

Rozdzielczość urządzenia jest oparta na fizycznych pikselach, podczas gdy piksele css są pikselami logicznymi, są one czasami różne od siebie, jeśli zmusisz je do tego samego, zobaczysz rozciągnięty ekran.

window.devicePixelRatio może dać wyniku konwersji (Na WebKit)

Aktualizacja:.

Ten link dostarczyć trochę więcej szczegółów na temat jak to działa: https://petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/

+0

Firefox zapewnia wartość dla 'window.devicePixelRatio' również. – Chris

Powiązane problemy