我应该使用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 - 它在没有的情况下运行并且无法使用它!
此致
答案 0 :(得分:3)
META:
meta name =“viewport”content =“width = device-width; user-scalable = no; initial-scale = 1.0; 最小尺度= 1.0;最大规模= 1.0;的目标densityDpi =设备dpi的强>;“
爪哇:
。_WebView.getSettings()setLoadWithOverviewMode(真); 。_WebView.getSettings()setUseWideViewPort(真);
这种组合有效。