zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C# Socket UDP 案例
    精通MVC 3 框架Controller Extensibility
    python一些DEMO总结
    影响ASP.NET程序性能的因素
    Django实战
    EF 4.3 CodeBased 数据迁移演练
    jQuery Gallery Plugin在Asp.Net中使用
    Action Func委托+异步委托
    使用CGO封装Windows API
    每日一例,练就编程高手
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/3081590.html
Copyright © 2011-2022 走看看