2010-04-16 163 views

回答

0

我没有。在我尝试过的所有手机中,xdpi和xdpi都是完全错误的。这个不成立。

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; 
    }