android计算dpi代码_如何计算android设备的屏幕物理尺寸

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:43   981   0

通过android提供的接口,我们可以获取到如下的信息:

int densityDpi = mContext.getResources().getDisplayMetrics().densityDpi;

float scaledDensity = mContext.getResources().getDisplayMetrics().scaledDensity;

float density = mContext.getResources().getDisplayMetrics().density;

float xdpi = mContext.getResources().getDisplayMetrics().xdpi;

float ydpi = mContext.getResources().getDisplayMetrics().ydpi;

int width = mContext.getResources().getDisplayMetrics().widthPixels;

int height = mContext.getResources().getDisplayMetrics().heightPixels;

这样可以计算屏幕的物理尺寸

宽 = width/xdpi

高 = height/ydpi

但是现在比较疑惑的是,为什么通过这个公式算出来的值不正确?是手机厂商写入的参数是错误的吗?

比如我现在手里有两台手机:

联想A388t 5寸屏:

width=480,height=854,densityDpi=240,density=1.5,xdpi=239.05882,ydpi=241.01778

小米1 4寸屏:

width=480,height=854,densityDpi=240,density=1.5,xdpi=254.0,ydpi=271.145

这两台手机的分辨率一样,dpi一样,density一样,可为什么一个是4寸屏,一个是5寸屏

google,baidu后无解,还请大拿解惑,谢谢

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP