2012-04-22 16 views
1

JavaのHTMLとWebSettingsのMETAタグ設定の組み合わせは、次の結果を得るために使用します:window.innerWidth in Javascriptは常にどのデバイスでも)ピクセル単位のWebViewの幅に等しい。Android、WebView.getWidth()== window.innerWidth

たとえば、WebViewの幅を1024pxに設定します。 Android AVDエミュレータでは、window.innerWidthは683px(1024の2/3、または150%の縮尺)に相当します。 - 動作しません

<meta name="viewport" content="width=device-width; 
user-scalable=no; initial-scale=1.0; 
minimum-scale=1.0; maximum-scale=1.0;" /> 

は、私は、次のMETAを試してみました。

は、次に私が試した:

_WebView.getSettings().setLoadWithOverviewMode(true); 
_WebView.getSettings().setUseWideViewPort(true); 
_WebView.setInitialScale(100); 

- あまりにも動作しません。

最後に、

_WebView.getSettings().setDefaultZoom(ZoomDensity.FAR); 

が動作しているようです。ドキュメントによると、 "240%のように見える100%"を意味します。私は知らないのですが、どのdpiユーザーのデバイスが持っていますか?タスクを正しく完了させるには?

UPDATE

私はちょうど高解像度タブレット上ZoomDensity.FARをテストしてみた - それはそれをせずにを動作し、それで動作しません!

よろしく、

答えて

3
  1. META:

    メタ名= "ビューポート" コンテンツ= "幅=デバイス幅、ユーザスケーラブル= NO;最初のスケール= 1.0; 最小スケール= 1.0; maximum-scale = 1.0; target-densityDpi = device-dpi;

  2. のJava:。

    _WebView.getSettings()setLoadWithOverviewMode(真)。 _WebView.getSettings()。setUseWideViewPort(true);

この組み合わせが機能します。

関連する問題