Android的,WebView.getWidth()== window.innerWidth(An

2019-10-16 15:19发布

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

举例来说,我的WebView中设置宽度为1,024像素。 在Android中AVD模拟器,window.innerWidth等于683px(2/3的1024,或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! 如何获得任务的正确完成?

UPDATE

我刚刚测试ZoomDensity.FAR在高DPI的平板电脑-它的工作原理没有它,不使用它!

问候,

Answer 1:

  1. META:

    元名称=“视口”内容=“宽度=设备宽度;用户可扩展=无;初始规模= 1.0;最小规模= 1.0;最大尺度= 1.0; 目标densityDpi =设备dpi的 ;”

  2. Java的:

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

这种组合适用。



文章来源: Android, WebView.getWidth() == window.innerWidth