android – WebView中DisplayMetrics和$(window).width()的宽度和高度不同

前端之家收集整理的这篇文章主要介绍了android – WebView中DisplayMetrics和$(window).width()的宽度和高度不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

Dp to pixels & vice versa

原文链接:https://www.f2er.com/android/309428.html

猜你在找的Android相关文章