我应该使用 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 ——没有它也能工作,也不能用它!
问候,