2011-08-04 125 views

回答

0

你应该总是使用dp。如果你需要在像素值,你可以使用此方法 -

public static int dpToPixels(Context context, float dp) { 
    final float scale = context.getResources().getDisplayMetrics().density; 
    return (int) (dp * scale + 0.5f); 
} 
0

总是使用

密度独立的像素

0

如果你看一下reference文档,你会看到这是DP点。具体来说,

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

所以,除非你想限制在一个单一的屏幕大小和密度,否则总是使用dp。

0

除了dp,您还可以使用pt(一英寸的点= 1/72),in(英寸)和mm(毫米)。

由于所有这些单位都基于实际的物理尺寸,所以您的UI元素将在任何设备上保持相同的物理尺寸。

相关问题