1

我应该使用 HTML 中的 META 标记设置和 Java 中的 WebSettings 的哪种组合来获得以下结果:Javascript 中的 window.innerWidth 应该始终(在任何 Android 版本和任何设备上)等于 WebView 宽度(以像素为单位)。

例如,我将 WebView 宽度设置为 1024px。在 Android AVD 模拟器中,window.innerWidth 等于 683px(1024 的 2/3,或 150% 比例)。

我尝试了以下 META:

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

——不起作用。

然后我尝试了:

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

——也不行。

最后,

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

似乎正在工作。根据文档,这意味着“100% 看起来像 240dpi”。我不知道,什么 dpi 用户设备有!如何正确完成任务?

更新

我刚刚在高 dpi 平板电脑上测试了 ZoomDensity.FAR ——没有它也能工作也不能用它!

问候,

4

1 回答 1

3
  1. 元:

    meta name="viewport" content="width=device-width; user-scalable=no; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.0; target-densityDpi=device-dpi ;"

  2. 爪哇:

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

这种组合有效。

于 2012-04-23T09:10:44.933 回答