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

  • 相关阅读:
    如何实现序列化为json
    unity中camera摄像头控制详解
    eclipse配置c开发环境
    uml和模式01
    angular2开发01
    微信公众平台开发01
    最新无线网卡驱动安装
    交换ctrl和caps_loack的新方法
    web.xml文件详解
    设计模式中的里氏代换原则
  • 原文地址:https://www.cnblogs.com/jukan/p/6425368.html
Copyright © 2011-2022 走看看