android – 如何获取设备的屏幕尺寸?

前端之家收集整理的这篇文章主要介绍了android – 如何获取设备的屏幕尺寸?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
欲望有480 x 800像素,3.7英寸,HD有480 x 800像素,4.3英寸屏幕规格.

我运行从这个线程How to get screen size of device?接受作为答案的代码但它是错误的!例如,对于3.7英寸的屏幕尺寸返回2.4这是非常错误的!

有人知道如何获得真正的屏幕尺寸吗?我不需要分辨率我需要屏幕的屏幕尺寸(英寸).

注意:此代码错误(至少对我不起作用)

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels; //give me 320
int height = dm.heightPixels; //give me 533

我有HTC Desire,我的分辨率是480 x 800像素!

我知道我很蠢!,显然我做错了什么但有人可以请我如何以英寸为单位获得真正的屏幕尺寸,并获得设备的真正分辨率?

谢谢

解决方法

好的,我终于找到了我的问题

是的,这段代码工作正常,但我没有返回像素,它返回DIP(密度无关像素),这是不一样的!

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels; //320 dip
int height = dm.heightPixels; //533 dip

我需要的是REAL像素,它们的计算如下:

int widthPix = (int) Math.ceil(dm.widthPixels * (dm.densityDpi / 160.0));

现在widthPix是480!

猜你在找的Android相关文章