我有一个屏幕分辨率为 720X1280、密度为 320dpi 的模拟器。
现在,当我使用以下代码找出 dpheight、dpwidth 和密度时
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpHeight = outMetrics.heightPixels / density;
float dpWidth = outMetrics.widthPixels / density;
我得到以下值:
06-24 06:47:46.027 D/Density ( 1003): 2.0
06-24 06:47:46.027 D/DPHeight( 1003): 592.0
06-24 06:47:46.027 D/DPWidth ( 1003): 360.0
我听不懂。有人可以给它遮光吗?
我打算开发一个包含大量文本的应用程序,并且我想适本地设置文本大小以使其看起来一致。
是的,我已经阅读了有关此的 Google 文档。
但我无法理解,因此提出了这个问题。
最佳答案
Density 2.0
是您的 friend 。这是基础 dpi (160 dpi = mdpi) 倍数。事实上:320/160 = 2.0
[编辑]
为清楚起见:
If your emulator is then the density is which actually is
xxxhdpi 4.0 640 dpi
xxhdpi 3.0 480 dpi
xhdpi 2.0 320 dpi
hdpi 1.5 240 dpi
mdpi 1.0 160 dpi
ldpi 0.75 120 dpi
关于Android 理解屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019785/