欲望有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!