我需要创建一个打开 web 视图的 Android 应用程序。在 webview 中,我正在尝试使用 JavaScript 调整页面内图像的大小。
问题是我找不到可靠检测屏幕宽度的方法。
window.innerWidth 或outerWidth 几乎可以工作,但在同一设备上随机返回错误值。
还有其他检测屏幕宽度的好方法吗?
我需要创建一个打开 web 视图的 Android 应用程序。在 webview 中,我正在尝试使用 JavaScript 调整页面内图像的大小。
问题是我找不到可靠检测屏幕宽度的方法。
window.innerWidth 或outerWidth 几乎可以工作,但在同一设备上随机返回错误值。
还有其他检测屏幕宽度的好方法吗?
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
这是以像素为单位的显示尺寸
编辑:
或者您可以使用以下代码:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); // deprecated
int height = display.getHeight(); // deprecated
通过这样做,您可以在 webview 中与您的本机代码和 javascript 进行通信。在本机代码中,编写一个函数来获取 webvew 的宽度,并通过实现 JavaScriptInterface 从 javascript 调用此函数。