我真的不应该在Android中使用px而不是dp吗?

时间:2012-08-03 21:39:07

标签: android gridview

这里有很多问题,但没有一个能回答我的具体问题。当我使用px时,eclipse告诉我要避免使用它。所以我做了。但是当我使用dp时,我在GridView的细胞周围形成的网格/边框似乎太胖了。我希望它更薄。使用1 px而不是1 dp时,我会得到所需的结果。我理解避免它的警告,但在这种情况下我应该真的避免吗?

2 个答案:

答案 0 :(得分:2)

是的,你应该。 “dp”会在所有设备上显示相同的外观,但像素不是。

http://developer.android.com/guide/practices/screens_support.html

长话短说:

与密度无关的像素相当于160 dpi屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理dp单元的任何缩放。 dp单位到屏幕像素的转换很简单:px = dp *(dpi / 160)。例如,在240 dpi屏幕上,1 dp等于1.5个物理像素。在定义应用程序的UI时,应始终使用dp单位,以确保在不同密度的屏幕上正确显示UI。

答案 1 :(得分:1)

px并不适用于所有设备,我认为它在Android 2.2中停止工作 我建议坚持使用dp。