代码之家  ›  专栏  ›  技术社区  ›  RobGThai

如何分辨DP中的屏幕分辨率?

  •  15
  • RobGThai  · 技术社区  · 16 年前

    我目前正在开发一个基于Galaxy S的应用程序。我知道S星系宽480像素,高800像素,但它的DP值是多少?

    2 回复  |  直到 16 年前
        1
  •  14
  •   WarrenFaith    16 年前
    倾斜单位到屏幕像素的转换很简单:像素=倾斜*(密度/160)。例如,在240 dpi屏幕上,1个倾斜将等于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

        2
  •  0
  •   Alexander Suraphel    10 年前

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

    就你而言:

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

    支票: sqrt(sqr(2) + sqr(10/3)) ~= 4 inches

    (2 * 160) x (10/3 * 160) = 320dp x 533.3dp