gpt4 book ai didi

android - 计算android屏幕尺寸?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:55 27 4
gpt4 key购买 nike

是否可以计算以英寸为单位的 android 屏幕对角线尺寸。

我尝试了以下两种方法都不适合我的情况。

方法一:

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int absoluteHeightInPx = displayMetrics.heightPixels;
int absoluteWidthInPx = displayMetrics.widthPixels;
double diagonalPixels = Math.sqrt((absoluteHeightInPx * absoluteHeightInPx) + (absoluteWidthInPx * absoluteWidthInPx));
double diagonalInInches = diagonalPixels / displayMetrics.densityDpi;

方法二:

float actualHeight = absoluteHeightInPx * deviceDensity;
float actualWidth = absoluteWidthInPx * deviceDensity;
float deviceDensity = displayMetrics.density;
float physicalPixelPerInchX = displayMetrics.xdpi;
float physicalPixelPerInchY = displayMetrics.ydpi;
float heightInInches = actualHeight / physicalPixelPerInchY;
float widhtInInches = actualWidth / physicalPixelPerInchX;
double diagonalInInches = Math.sqrt((heightInInches * heightInInches) + (widhtInInches * widhtInInches));

如果我错了,你能纠正吗?

谢谢,东华

最佳答案

我使用下面的代码,它适用于我的 Moto Dey。

 DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

float height=metrics.heightPixels/metrics.xdpi;
float width=metrics.widthPixels/metrics.ydpi;

TextView tv=(TextView) findViewById(R.id.textview);
tv.setText("The screen size is:"+FloatMath.sqrt(height*height+width*width));

实际的对角线长度是3.7",代码给出了3.6979072,足够精确了。根据SDK中的描述,我认为我的方法应该适用于其他设备。

关于android - 计算android屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com