2010-05-25 4 views
9

모바일 브라우저에게 콘텐츠 표시 방법()을 알리기 위해 뷰포트 META 태그를 사용하는 웹 사이트가 있습니다. Android 브라우저에서 페이지를 보는 것이 올바르게 보입니다 (iPhone 등).Android WebView가 웹 페이지의 '뷰포트'정보를 무시하는 것 같습니다.

안드로이드 응용 프로그램에서 WebView 구성 요소로 페이지를로드 할 때 WebView는 "VIEWPORT"태그를 무시하고이 경우 확대 된 "전체"해상도로 페이지를 렌더링합니다.

답변

3

두 번 확인 WebView 문서의 섹션 "다른 화면 밀도 지원하기 위해 건물 웹 페이지의"에 대한 구현을 : 부지의 실험 내가 안드로이드 웹보기 '는 순종하지 않을 것으로 확인되었습니다 후 http://developer.android.com/reference/android/webkit/WebView.html

+3

그래서 실제 해결책은 무엇입니까? 이 경우에는 무엇이 도움이 되었습니까? – definera

22

을 실제 페이지가 뷰포트 설정보다 넓은 폭을 강제로 설정하면 '뷰포트'설정이 적용됩니다.

예를 들어 뷰포트를 500px로 설정했지만 내 페이지에 960px 너비의 요소가 있습니다. 뷰포트는 WebView가 추가 콘텐츠를 숨기지 않기 때문에 준수하지 않았습니다.

입력 할 때 분명히 보이지만 문제가 발생한 날을 보내야합니다.

+0

이것은 매우 흥미 롭습니다. 뷰포트 메타 지시어는 초기 페이지 렌더링이 계산되기 전에 적용되어야합니다. – Barney

1

일부 Android 휴대 전화의 구현에 실패한 또 다른 이유는 HTC Desire HD가 뷰포트 TAG - user-scale = no completly를 무시한다는 것입니다.

+0

HTC Incredible S와 동일한 결과를 얻었습니다. 책에서 매 트릭을 시도했는데 그것은 움직이지 않을 것입니다. 뷰포트 태그는 완전히 무시됩니다. – aeldron

9

최상의 답변 링크에서 문서가 말하듯이 메타 태그를 사용하여 기기가 화면과 비교하여 웹 앱의 크기에 어떻게 반응해야하는지 지정할 수 있습니다.

<meta name="viewport" content="target-densitydpi=high-dpi" /> 
+0

"device-width"로 축소하지 않고 Android에서 내 문제를 해결하십시오. 감사합니다 :) – BurninLeo

+0

우리 중 일부는 스타 프로그래머가 우리가 제공 한 페이지에 적합해야하기 때문에 나에게 맞는 최고의 답변, 비 전문가에 의해 코딩. : P –

9

setUseWideViewPort (boolean use) 

내가이 내 "뷰포트"고려 안드로이드 웹뷰에게 사용 WebSetting 클래스의이 방법을 사용해보십시오 : 다음 태그는 안드로이드 폰 내 웹 응용 프로그램의 뷰포트 크기를 존중했다 태그

+0

+1 중요 - 문서에서 _ WebView가 "뷰포트"HTML 메타 태그를 지원하는지 또는 넓은 뷰포트를 사용할지를 가져옵니다. _ – Dori

+0

그것은 저에게 효과적입니다. 그러나 그것은 false로 설정되어 있어도 viewport 태그가 여전히 처리된다는 것을 발견했습니다. 'value = "width = 100 %"로 변경하면 HTML도 올바르게 표시됩니다. –

-1

사용이 :

<meta name="viewport" content="width=320, user-scalable=no, target-densitydpi=low-dpi" /> 

이제 안드로이드 웹보기 및 브라우저 뷰포트 설정을 준수합니다.

휴 (Phew), 이건 제대로하기 위해 많은 조정이 필요했습니다. 이런.

0

문제 만 확인할 수 있습니다. 안드로이드 이슈 트래커에는 open issue이 있습니다. 이 문제의 영향을받는다면 투표/별표를주십시오.

1

Link 허용 답변 및 this은 Android의 뷰포트를 이해하는 데 도움이됩니다. 나를 위해 일한

settings.setUseWideViewPort(true) 
settings.setLoadWithOverviewMode(true) 
0

유일한 것은

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, minimum-scale=1.0, shrink-to-fit=no" /> 

하지만, 특히 기존의 태그에 maximum-scale=1.0, minimum-scale=1.0를 추가하는 것이 도움이

을했다 : 내 시나리오에서

는 고정 폭은 솔루션입니다, 사용됩니다. 필자의 경우 YMMV를 확대/축소 할 수있는 기능을 사용자에게 제공하고 싶지 않았습니다.

관련 문제