2010-04-16 112 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; 
    }