0
我正在努力获取设备显示对角线长度。我用公式,对角线=宽*宽+高*高。为了达到这个我使用下面的代码。在各种android设备中显示对角线尺寸冲突
DisplayInfo aDisplayInfo = new DisplayInfo();
DecimalFormat twoDecimalForm = new DecimalFormat("#.##");
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
aDisplayInfo.widthInch = (dm.widthPixels * dm.density)/(dm.xdpi * 2);
aDisplayInfo.heightInch = ((dm.heightPixels * dm.density)/(dm.ydpi * 2));
aDisplayInfo.widthPix = dm.widthPixels;
aDisplayInfo.heightPix = dm.heightPixels;
// approaach 1
aDisplayInfo.diagonalInch = twoDecimalForm.format(Math.sqrt(Math.pow(
aDisplayInfo.widthInch, 2)
+ Math.pow(aDisplayInfo.heightInch, 2)));
运行此代码后,我在不同的设备中发现了不同的结果。像:
- 三星Galaxy S3 = 4.8Hz英寸(正确)
- 的HTC One X = 6.8Hz英寸(错误)将4.7英寸]
有什么不对的代码?任何形式的帮助将不胜感激。
检查后我会回复 –
它就像一个魅力 –
它适用于大多数设备,有些设备有错误.. –