zoukankan      html  css  js  c++  java
  • 如何计算android设备的屏幕物理尺寸

    https://segmentfault.com/q/1010000002794179

    通过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后无解,还请大拿解惑,谢谢

  • 相关阅读:
    socket (一)
    yield生成器及字符串的格式化
    python模块(json和pickle模块)
    python标准模块(time、datetime及hashlib模块)
    python标准模块(os及sys模块)
    python模块简介
    python --> 正则表达式
    python --> 递归 以及装饰器
    python基础知识(四)
    python基础知识(三)
  • 原文地址:https://www.cnblogs.com/jukan/p/6425368.html
Copyright © 2011-2022 走看看