我现在已经读了一段时间关于dp, px, ppi
和dpi
,我迷路了。
为什么像Galaxy Note 3
(5.7 inch
显示器)这样的大手机可以和dp
(只有4.7 Moto X
)具有相同的inches
?
我对每个的计算都会返回width=360dp
和height=640dp
。似乎许多高密度手机都属于这个范围。这是真的还是我误解了dp
?
我使用以下来计算我的值:How to determine the screen width in terms of dp or dip at runtime in Android?
因为它不仅仅是屏幕尺寸的问题,它也是屏幕密度的问题。我会解释一下。从px到dp单位的转换公式如下:
dp = px * 160 / dpi,其中dpi是您的屏幕密度。
因此,根据您计算的值(让我们取宽度),我们有以下屏幕密度值:
Galaxy Note 3(宽度= 1080像素):dpi = 1080 * 160/360 = 480
Moto X(宽度= 720像素):dpi = 720 * 160/360 = 320。
Galaxy Note 3和Moto X具有相同的宽度= 360 dp,因为相等的宽度/ dpi比= 2.25(相同的高度/ dpi比= 4)。现在想象一下Moto X的密度与Galaxy Note 3相同。在这种情况下,你会得到一个更小的宽度= 240 dp的Moto X.