Android中WebView的默认比例值是多少?

Android中WebView的默认比例值是多少?,android,webview,Android,Webview,Android说getScale()方法已被弃用。 我已经实现了onScaleChanged(WebView,float,float)来获得新的比例,但是这个方法只有在比例改变时才会触发。 那么,webview的默认比例值是多少? 从getScale()方法中,它是2.0f,但在所有设备上该值总是2.0f吗?根据开发者的说法,缩放取决于设备屏幕上的像素密度: 默认情况下,WebView会缩放网页,以便以与中等密度屏幕上的默认外观相匹配的大小进行绘制。因此,它在高密度屏幕上应用1.5倍的缩放(因

Android说
getScale()
方法已被弃用。
我已经实现了
onScaleChanged(WebView,float,float)
来获得新的比例,但是这个方法只有在比例改变时才会触发。
那么,webview的默认比例值是多少?

getScale()
方法中,它是
2.0f
,但在所有设备上该值总是2.0f吗?

根据开发者的说法,缩放取决于设备屏幕上的像素密度:

默认情况下,WebView会缩放网页,以便以与中等密度屏幕上的默认外观相匹配的大小进行绘制。因此,它在高密度屏幕上应用1.5倍的缩放(因为它的像素更小),在低密度屏幕上应用0.75倍的缩放(因为它的像素更大)。从API级别的ECLAIR开始,WebView支持DOM、CSS和元标记功能,以帮助您(作为web开发人员)针对不同屏幕密度的屏幕

在页面上可以找到更多信息,其中包含使用JavaScript查询设备密度的信息(和示例代码):


那么,有没有办法从代码中得到初始值呢?我不完全确定;但是,有一些方法可以指定缩放比例,对于低密度、中密度和高密度的屏幕设备,该比例仅为0.75、1.0和1.5。@user2447581我找到了一些信息(和代码),这些信息(和代码)允许找到使用过的特定缩放比例因子。派对很晚了。。。但是看看这个答案:getResources().getDisplayMetrics().density应该可以做到这一点。
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");
}