• android中使用DisplayMetrics获取屏幕参数


    --关于Density

    int android.graphics.Bitmap.getDensity(),返回bitmap-density(密度)。默认的density就是当前display-density,除非当前应用程序不支持不同的screen-density。

    在android.util.DisplayMetrics类中定义了一些变量和常量。

    --常量DENSITY_XXX,

    int类型,定义了不同级别的密度对应的dpi数值,

    低密度,DENSITY_LOW,120,

    中密度,DENSITY_MEDIUM,160,

    高密度,DENSITY_HIGH,240,

    超高密度,DENSITY_XHIGH,320,

    默认密度,DENSITY_DEFAULT,160(即中密度)。

    --变量widthPixels和heightPixels,

    int类型,单位像素,display的absolute-width和absolute-height。

    --变量density,

    float类型,display的logic-density。是一个scaling-factor,用在Density-Independent-Pixel单位,一个dip就是一个像素。

    160dpi的screen提供系统display的baseline。

    因此,160dpi的screen-density值为1(160/160),120dpi的screen-density值为0.75(120/160)。

    screen-1,已知240x320,1.5"x2" ,可以计算出densityDpi等于160。即240/1.5=160,或320/2=160。再通过densityDpi/160计算出density的值1.0。

    screen-2,已知320x480,1.5"x2",可以计算出densityDpi等于240。即320/1.5=240,或480/2=240。再通过densityDpi/160计算出density的值1.5。

    --变量densityDpi,

    int类型,dots-per-inch。

    --关于分辨率和尺寸

    分辨率是手机长和宽方向上的像素个数,

    尺寸是指屏幕的实际物理大小,

    手机尺寸手机尺寸115.5×61×12.45解析得长115.5毫米,宽61毫米,高12.45毫米。

    1英寸(inch)等于2.54厘米,

    --获取DisplayMetrics对象,再获取屏幕的参数

    DisplayMetrics displaysMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics);

    --关于scaledDensity

    float类型,一个scaling-factor,用于fonts显示,同density相同的值,除非由于基于font-size上的体验需要做微调。

    --TyuMainApp.getApp().getResources().getDisplayMetrics()对象中的属性值

    --本机上调试时记录的数据

    DENSITY_DEFAULT    160   
    DENSITY_DEVICE    240   
    DENSITY_HIGH    240   
    DENSITY_LOW    120   
    DENSITY_MEDIUM    160   
    DENSITY_TV    213   
    DENSITY_XHIGH    320   
    density: 1.5, sclaedDensity: 1.5
    densityDpi: 240   
    heightPixels: 800, widthPixels: 480

    xdpi: 160.42105, ydpi: 160

  • 相关阅读:
    如何在winform的numericUpDown中显示小数点
    Jquery attr 和removeAttr 的简单使用
    Linux下的多进程编程初步(转载)
    扩展GCD和线性模方程组
    05、Flutter常用组件
    12、Flutter组件装饰
    10、Flutter资源和图片
    09、Flutter手势控制
    04、FlutterDart语法
    07、FluterCupertino
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/3081590.html
Copyright © 2020-2023  润新知