设想
我正在开发一个随机应用程序,最近我遇到了一个问题。我在 Google pixel 3a xl android 模拟器和 Asus X00TD 物理设备上运行相同的应用程序。而且我知道华硕手机的用户界面真的发生了变化。
Pixel 3a XL 显示器规格:
显示尺寸:6.0 英寸分辨率:2160 × 1080 ppi:402ppi
华硕 X00TD 显示器规格:
显示尺寸:6.0 英寸分辨率:2160 × 1080 ppi:403ppi
您会看到它几乎相同,只是 ppi 不同,我认为这不会产生很大的不同。大约 6 个像素会受到影响,这不会改变整个 UI。我不知道dpi
华硕x00td的分辨率。而且我在网上也找不到。
这是像素 3a xl 和华硕 x00td 之间的 UI 差异。
如您所见,模拟器和实体手机之间存在很大差异。所以,我有2个问题
有一种方法可以通过函数计算 dpi。但是,如果我没有手机但仍想知道该手机的 dpi res 怎么办?
为什么模拟器和实体手机差别很大?
编辑
我试图在互联网上计算它,但它给了我0.0631mm
点间距。我无法理解它是什么。模拟器还显示像素 3a xl 具有400dpi
分辨率。
400dpi
那么,和有什么区别0.0631mm dot pitch
?
我尝试过的解决方案
我试图通过将最小宽度设置为 360dp 来模拟模拟器中的华硕设备。最初它看起来和华硕一样。模拟器正在xhdpi
挑选dimens.xml
. 所以,我做了修改dimens.xml
,xhdpi
但是华硕没有选择那个文件。相反,它选择了xxhdpi
文件。在另一台设备 Realme 3 pro 中使用。我无法修改xxhdpi
文件,因为它会弄乱所有 6 英寸以上显示屏手机的 UI。同时华硕仍在挑选xxhdpi
文件,华硕的用户界面一团糟。
找不到解决办法。