• 如何计算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后无解,还请大拿解惑,谢谢

  • 相关阅读:
    cordova 里js和oc通信原理
    awakeFromNib
    CALayer树形结构
    SDWebImage原理,转载
    gcd多线程
    block的存储形态
    关于weak对象什么时候释放
    Swift是否和OC一样有runtime机制
    大数据基础
    python进行离线打包并安装
  • 原文地址:https://www.cnblogs.com/jukan/p/6425368.html
Copyright © 2020-2023  润新知