有没有人使用过xdpi,ydpi并得到了正确的结果

时间:2010-04-16 22:00:40

标签: android

我想知道是否有人使用xdpi和ydpi并获得设备的实际物理dpi?

由于

2 个答案:

答案 0 :(得分:5)

在我的Nexus One上是正确的,但在我的Galaxy S2(T-mobile)上没有。所以我写了一些代码来回避不太准确的测量。基本上,如果xdpi和ydpi不在通用密度的5%范围内,请使用泛型。

谁说碎片不是问题? Google的认证产品测试套件不得使用API​​的这一部分。

  DisplayMetrics dm = new DisplayMetrics();
  ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
  float density = dm.density;
  density = density * 160;
  float xdpi = dm.xdpi;
  float ydpi = dm.ydpi;
  float errX = Math.abs((xdpi / density) - 1f);
  float errY = Math.abs((ydpi / density) - 1f);
  if (errX > .05 && errY > .05)
  {
     xdpi = density;
     ydpi = density;
  }

答案 1 :(得分:0)

我没有。 xdpi和xdpi在我尝试过的所有手机中都是完全错误的。这毫无意义。