在我测量的Android中,使用DP或其他什么是明智的吗?我害怕dp可能会因设备而异,我的应用程序在手机以外的任何地方看起来都很糟糕。
答案 0 :(得分:0)
始终使用 dip
密度无关像素
答案 1 :(得分:0)
如果查看reference文档,您会发现这是dp的重点。具体地,
与密度无关的像素相当于160 dpi屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理dp单元的任何缩放。 dp单位到屏幕像素的转换很简单:px = dp *(dpi / 160)。例如,在240 dpi屏幕上,1 dp等于1.5个物理像素。在定义应用程序的UI时,应始终使用dp单位,以确保在具有不同密度的屏幕上正确显示UI。
因此,除非您希望限制为单个屏幕尺寸和密度,否则请始终使用dp。
答案 2 :(得分:0)
Qasim,dp或dip是为了防止你害怕而发明的。查看此文章:http://developer.android.com/guide/practices/screens_support.html,以及其他问题:What is the difference between "px", "dp", "dip" and "sp" on Android?
答案 3 :(得分:0)
你应该总是使用dp。如果需要像素值,可以使用此方法 -
public static int dpToPixels(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
答案 4 :(得分:0)
除了dp
之外,您还可以使用pt
(点数= 1/72英寸),in
(英寸)和mm
(毫米)。
由于所有这些单元都基于实际的物理尺寸,因此您的UI元素将在任何设备上保持相同的物理尺寸。