我迷失在关于http://developer.android.com/guide/practices/screens_support.html的一些不幸的含糊之处,我无法找到澄清问题的计算器答案。Android DP到PX转换,160 dp总是160 px上mdpi?
我很清楚的文档所宣称:
密度无关的像素相当于一个物理像素160 dpi屏幕,这是一种“介质由系统假定的基线密度上“密度屏幕。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理dp单位的任何缩放比例。将dp单位转换为屏幕像素很简单:px = dp *(dpi/160)。例如,在240 dpi屏幕上,1 dp等于1.5个物理像素。定义应用程序的用户界面时,应始终使用dp单位,以确保在不同密度的屏幕上正确显示您的用户界面。
问题是他们对'dp'的定义是在那个公式中。基于页面下方的图形,似乎mdpi级设备的“实际密度”跨越大约120到大约200的值。这是否意味着160 dpi可映射到120到200之间的任何位置200像素的mdpi级设备?或者,一个mdpi类设备总是将160 dpi转换为160像素?
我可能会错过你的问题,但......密度独立像素仅仅是一个术语,用于了解屏幕上物品的物理尺寸(实际尺寸)。这是设计和开发的最佳方式。大多数人只是不明白,或者不是程序员,所以他们还没有做到。 – moot
范围是处理不同密度的建议方法,但您需要知道如何转换为dp。转换号码160是您始终使用的号码。你可以使用任何你想要的数字,它会工作,但我们都“同意”使用160,所以我们可以共享代码。 – moot