在
Android应用程序内部,我尝试使用以下方法获取屏幕宽度和高度:
DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); final int screenWidth = metrics.widthPixels; final int screenHeight = metrics.heightPixels;
这分别为我的手机报告了1080和1920,这与规格相符.
但是,在webview中,当我使用时:
var screenWidth = $(window).width();
这只报告了360.
据我所知,两者都使用像素作为单位,为什么价值观不同?
解决方法
注意宽度在两种情况下都相同,但单位不同.
例如.
这是在Pixels中
metrics.widthPixels;
这个是在Dps
360 OR $(window).width();
将360Dps转换为像素
在xxhdpi设备上,360dps = 1080px