java - 三星盖乐世 S8+ : Device Metrics Gives wrong device screen pixel density

标签 java android samsung-mobile dpi

这就是我使用 Android Studio 获取屏幕密度的方式

float density = getResources().getDisplayMetrics().density;

根据设备规范,S8+ 的4.0 密度值 属于xxxhdpi 类别

引用这个网站https://material.io/devices/ , 已附上屏幕截图以供引用 here

但是上面代码返回的值是2.9,好像很不对 check here

也尝试过使用 densityDpi,但它也返回 xxhdpi 而不是 xxxhdpi

int densityDpi = context.getResources().getDisplayMetrics().densityDpi;

上面的代码在其他设备上运行良好,在 OnePlus 5T、Nexus 6P、Redmi Note 4、Moto g4+ 和其他设备上进行了测试...面临 Galaxy s8+ 问题,尚未针对 Galaxy s8 进行测试,但我猜是结果将相同。

这是已知 Bug,还是我做错了什么?

如果没有 s8+ 设备的正确像素密度信息,管理 S8+ 设备的布局变得越来越困难。

最佳答案

就像冲浪者说的。您的手机没有达到可能的最大分辨率。如果您将屏幕截图中报告的分辨率除以报告的 2.9,再乘以 4,您最终得到的最大分辨率大致为 2960x1440

关于java - 三星盖乐世 S8+ : Device Metrics Gives wrong device screen pixel density,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47921657/

相关文章:

wcf - Micromax 和 Samsung 的 J2ME 中的 Web 服务问题

java - 无法在 Android Studio 中构建新项目

android - 为 Samsung Galaxy s2 和 Galaxy s3 开发应用程序时应该使用什么模拟器分辨率?

java - 我的 XML 模式有什么问题?

Java 泛型 - 类型删除的问题?

java - 使用 Java 将测试结果传递给 Selenium 中的 ITestResult

java - 使用 JSONML.toJSONObject() 时获取 JsonException

android - 在android中为新文件类型注册新图标

android - 按钮卡住了

android - samsung ble api 无法从多个 GATT 特性中获取通知