我想获得该设备屏幕的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;
}
我该如何解决?
谢谢,
波阿斯
答案 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;
}
尝试一下,然后回到这里结果:)
干杯