人们会说,如果银河标签屏幕分辨率(肖像模式)是600px
和屏幕宽度是3.55inch
,屏幕密度将是600/3.55 = 169 dpi
。知道并牢记设备无关的像素(DP)被计算的方式(http://developer.android.com/guide/practices/screens_support.html):了解三星Galaxy Tab屏幕密度
px = dp * (dpi/160);
600 = dp * (169/160);
dip = 568
所以绘制的568dp(设备无关的像素)的水平线宽度开始在位置0处的宽度必须完全匹配的屏幕。但是,如果您在设备上尝试此操作,则会发现屏幕宽度为400dp
。我将再次使用相同的公式,但为获得DPI:
600 = 400 * (dpi/160);
dpi = 240
所以具有240dpi
,3.55inch
屏幕宽度和600pixels
,是否表示一个物理像素由多个“点”,否则参数对应于所述宽度为852pixel (3.55*240)
。
我认为dpi是指每英寸点数,即每英寸像素数。但是,这似乎不是真的...
后来补充:
这(http://developer.android.com/guide/topics/resources/more-resources.html#Dimension)说:
160dp始终是无论屏幕密度的一英寸
哪是不正确的。即使后来 Difference between android dimension: pt and dp
新增:只要检查从这个测量源
我问的原因是违反规则160dp = 1inch
导致一个事实,即指定控制宽度时,例如320dp它将包括对Galaxy Tab的更大的部分是真的有必要和更大然后你会从600x1024px屏幕上会发生什么......
感谢澄清 BR 斯登
我认为您可能会将dpi与倾斜设备无关的像素混淆。 – Petrus
嗨,你能更具体地说明我做错了什么吗?我在哪里犯了一个错误? – STeN
我以前可能误读了你的帖子,但也许你想检查。我认为它可能不会返回您计算所期望的密度。我没有检查过你的数学,但是如果密度是160而不是169,那么它们可能会合在一起? –
Petrus