【发布时间】:2011-10-21 11:42:32
【问题描述】:
72 pts 总是等于 1 英寸,但 160 dip is not always equal to 1 inch。
因此,为什么人们建议我们使用 dips 而不是 pts?
我们的维度基于可预测的点而不是不可预测的下降不是更好吗?
【问题讨论】:
标签: android dimensions
72 pts 总是等于 1 英寸,但 160 dip is not always equal to 1 inch。
因此,为什么人们建议我们使用 dips 而不是 pts?
我们的维度基于可预测的点而不是不可预测的下降不是更好吗?
【问题讨论】:
标签: android dimensions
您应该使用 dip(Density Indepentdent Pixel)的原因是这样您的应用程序将支持多种屏幕尺寸。这意味着如果您将值设置为 100dip,它将在低密度屏幕 (ldpi) 上转换为 75px,在中等密度屏幕 (mdpi) 上转换为 100px,在高密度屏幕 (hdpi) 上转换为 150px,在额外屏幕上转换为 200px高密度屏幕 (xhdpi),但布局在每个屏幕上看起来都相同(但会缩放到屏幕密度)。
使用 pt 的唯一原因是,如果您确实需要精确的尺寸并且不关心屏幕密度(我不知道什么时候会出现这种情况)。
您应该通读这篇文章以更好地理解为什么 dp/dip 是要走的路:
这个类似的问题也很好地解释了不同单位之间的区别:
【讨论】:
始终使用 dip(设备独立像素),这将尊重您正在运行的设备的宽度和高度。因此,通过使用 dip,所有设备的布局都是相同的。
【讨论】:
如果您希望您的应用仅在单一设备或单一分辨率下运行,您可以使用 pts.如果您希望您的应用程序在多种分辨率下工作(我认为您会这样做),您最好使用 dip 或 dp。使用模拟器以不同的分辨率尝试您的应用程序,您会看到问题所在。应用在不同分辨率下的外观会有所不同。
【讨论】: