如何在 Android Studio 中获得正确的屏幕宽度 (px)?

How to get correct screen width (px) in Android Studio?

我有一个物理设备连接到我的 Android Studio - Samsung Galaxy S20 Ultra 5G - SM-G988U。我在网上看到的所有地方都将尺寸列为 1440px x 3200px 和 511 ppi。

然而,当我将这个 phone 连接到 android studio 并且我 运行 我的应用程序时,我在 Logcat 中获得了长度和宽度测量值(通过下面的代码) 并且它 returns 1080 x 2400.

int screenWidth = 0;
int screenHeight = 0;

if (Build.VERSION.SDK_INT >= 28 && Build.VERSION.SDK_INT < 30) {

            screenHeight = getResources().getDisplayMetrics().heightPixels;
            screenWidth = getResources().getDisplayMetrics().widthPixels;

} else {

            WindowMetrics deviceWindowMetrics = getApplicationContext().getSystemService(WindowManager.class).getMaximumWindowMetrics();
            screenWidth = deviceWindowMetrics.getBounds().width();
            screenHeight = deviceWindowMetrics.getBounds().height();

}

Log.d(TAG, "The screen width == " + screenWidth);

我不明白为什么打印宽度为 1080 而不是 1440。phone 是我在网上购买的二手 phone - 我能想到的唯一理由是这个 phone 不是真正的三星 Galaxy S20。我用 return 测试预期宽度和高度的所有其他 phones。我做错了什么吗?

您好,我不确定,但请尝试更改 phone 的分辨率。 https://www.technobezz.com/how-to-change-screen-resolution-on-samsung-galaxy-s20-ultra/