Android文档称getScale()
方法已弃用。
我已经实现了onScaleChanged(WebView, float, float)
来获得新的规模,但是这个方法只有在规模发生变化时才会被触发。
webview的默认缩放值是多少?
从getScale()
方法,它是2.0f
,但这个值总是2.0f在所有设备上吗?
根据开发者WebView文档,缩放取决于设备屏幕上的像素密度:
默认情况下,WebView缩放网页,使其以与中密度屏幕上的默认外观相匹配的大小绘制。因此,在高密度屏幕上应用1.5倍缩放(因为它的像素更小),在低密度屏幕上应用0.75倍缩放(因为它的像素更大)。从API级别的ECLAIR开始,WebView支持DOM, CSS和元标记功能,以帮助您(作为web开发人员)针对不同屏幕密度的屏幕。
进一步的信息可以在Web应用程序中支持不同屏幕页面中找到,其中有使用JavaScript查询设备密度的信息(和示例代码):
if (window.devicePixelRatio == 1.5) { alert("This is a high-density screen"); } else if (window.devicePixelRatio == 0.75) { alert("This is a low-density screen"); }