DisplayMetrics返回零

时间:2013-06-28 11:48:18

标签: android dpi

我想获得该设备屏幕的dpi但是 当我使用时:

          DisplayMetrics m = getResources().getDisplayMetrics();
                float den = m.density;

我将完整的DisplayMetrics对象视为零(我在调试中看到它)。 在我的模拟器(android 2.3)和我的手机(Htc Legend android 2.1 update 1)上也是如此。 代码位于我的活动类(extends Activity)中,然后是

WebView.setWebChromeClient(new MyWebChromeClient() {

        public void onProgressChanged(WebView view, int progress) {

              DisplayMetrics m = getResources().getDisplayMetrics();
                float den = m.density;

}

我该如何解决?

谢谢,

波阿斯

1 个答案:

答案 0 :(得分:4)

取自here

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                 break;
     case DisplayMetrics.DENSITY_HIGH:
                 break;
}

尝试一下,然后回到这里结果:)

干杯