如何计算android设备的屏幕物理尺寸
通过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后无解,还请大拿解惑,谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论