如何判断“DP”中的屏幕分辨率?

时间:2010-08-20 11:13:34

标签: android

我正在开发基于Galaxy S的应用程序。我知道Galaxy S宽480像素,高800像素,但在DP中有多少呢?

让我们说如果我想并排放置两个布局,我会将它们设置为240像素。但是我怎么知道我应该在DP单元中使用什么值呢?

2 个答案:

答案 0 :(得分:14)

dip单位到屏幕像素的转换很简单:pixels = dips *(density / 160)。例如,在240 dpi屏幕上,1 dip将等于1.5个物理像素。强烈建议使用dip单位定义应用程序的UI,以确保在不同屏幕上正确显示UI。

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

[编辑] 我只是不得不用这个。使用DisplayMetrics.density仅返回0.75,1和1.5。请改用DisplayMetrics.densityDpi或将数学更改为pixels = dips * DisplayMetrics.density

答案 1 :(得分:0)

我发现DP根本不是分辨率,而是屏幕大小,因为它基于160dpi基线。一种简单的计算方法是:ScreenSizeInInches * 160。

在你的情况下:

英寸宽度= 480px/(240px/inch) = 2 inches 英寸高度= 800px/(240px/inch) = 10/3 inches

检查:sqrt(sqr(2) + sqr(10/3))〜= 4 inches这是Galaxy S的大小。

因此dp的大小为(2 * 160) x (10/3 * 160) = 320dp x 533.3dp