2013-03-14 1 views
11

Android 앱이 onDeviceReady 이벤트에 잘못된 크기 (320x480)를 반환하지만 몇 초 후에 크기가 올바르게됩니다.PhoneGap/Cordova Android가 onDeviceReady 이후 화면 크기를 얻습니다.

어떻게 처음부터 올바른 크기를 얻을 수 있습니까? 아니면 정확한 크기를 얻을 수있는 이벤트가 있습니까? 코르도바 2.5.0를 사용

<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" />

:

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]; 
} 

뷰포트 :

나는 크기를 얻기 위해이 기능을 사용하고 있습니다.

UPD :
이 스크린 샷 응용 프로그램에서 볼 수 있듯이 더 작은 크기로 시작됩니다. 심지어 비어있는 코르도바 프로젝트도 이것을합니다. 이 문제를 어떻게 해결할 수 있습니까?

enter image description here

감사합니다!

+2

그 문제의 진전 :

이 링크를 좀 더 작동 방법에 대한 세부 사항을 제공 ? 그 답 중 어떤 것도 나중에 일 했나요? – Fardin

+0

문제가 있습니까? 진행 상황이 있습니까? – poordeveloper

+0

불행히도 저는 더 이상 Cordova 응용 프로그램을 개발하지 않을 것입니다. 시간이 있다면 다음과 같은 솔루션을 재현하고 확인하려고 노력할 것입니다. 그러나 그것이 당신을 위해 작동하지 않는다면, 그것은 나에게는 도움이되지 않을 것입니다. – dymv

답변

3

메타 머리글 인덱스의 높이, 너비 및 밀도 속성을 제거하십시오.

+0

답변을 좀더 자세히 설명해 주시겠습니까? 블라인드 추측처럼 보입니다 ... – Trinimon

+1

Thierry

0

앱 클래스의 position : absolute 속성 (index.css 내부)을 삭제하려고합니다. 이것은 나를 위해 작동합니다.

1

헤더에서 target-densitydpi를 제거해보십시오.

디바이스 픽셀은 물리적 픽셀을 기반으로하고 CSS 픽셀은 로직 픽셀이지만 서로 강제로 연결하면 화면이 약간 늘어나게됩니다.

window.devicePixelRatio는 변환의 결과를 제공 할 수 있습니다 (웹킷에)

업데이트 :. https://petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/

+0

Firefox에서 제공합니다. 'window.devicePixelRatio'에 대한 값입니다. – Chris

관련 문제