• 关于屏幕的几个概念


    屏幕密度计算公式:

    例如:屏幕分辨率10*20 屏幕大小 x*y英寸(这个时候y=2x)

    密度dis = 10/x = 20/y = (10*10 + 20*20)开方 / (x*x + y*y)开方

    屏幕尺寸Screen size :

      显示屏幕的实际大小,按照屏幕的对角线进行测量。small, normal, large, and xlarge 

    长宽比Aspect ratio :

      长宽比是屏幕的物理宽度与物理高度的比例关系。

    分辨率Resolution :

      在屏幕上显示的物理像素总和。

    密度Density :

      根据像素分辨率,在屏幕指定物理宽高范围内能显示的像素数量。 ldpi (low) 120, mdpi (medium) 160, hdpi (high) 240, and xhdpi (extra high) 320

      DENSITY_DEFAULT = DENSITY_MEDIUM = 160; 

    设备独立像素Density-independent pixel (dp/dip) :

      应用程序可以用来定义UI组件的虚拟像素单元,通过密度无关的方式来描述布局尺寸和位置。pixels = dps * (density / 160).

    每英寸像素数DPI(dot per inch) : 

    pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; 

    sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。 

    res目录下:

    drawable

    drawable-ldpi

    drawable-mdpi

    drawable-hdpi

    drawable-xhdpi

    drawable-nodpi

    drawable-nodpi-1024×600

    drawable-nodpi-1280×800

    drawable-nodpi-800×480

    values

    values-ldpi

    values-mdpi

    values-hdpi

    values-xhdpi

    values-nodpi

    values-nodpi-1024×600

    values-nodpi-1280×800

    values-nodpi-800×480

    ******************************
    在工程的default.properties中如果split.density=false,则分辨率适配的时候文件夹命名不需要与scale相除

    屏幕分辨率:800x480
    density:1.5(240)
    文件夹:values-hdpi-800x480 
    ******************************

      

    屏幕分辨率:1024x600
    density:1(160)
    文件夹:values-mdpi-1024x600

    屏幕分辨率:1024x600
    density:1.5(240)
    文件夹:values-hdpi-683x400  由1024/1.5  600/1.5得到,需要四舍五入。

    屏幕分辨率:800x480
    density:1(160)
    文件夹:values-mdpi-800x480

    屏幕分辨率:800x480
    density:1.5(240)
    文件夹:values-hdpi-533x320  由800/1.5  480/1.5得到,需要四舍五入。

    以此类推
    一般情况下需要创建出values 、values-mdpi 、 values-hdpi文件夹,以备在一些没有规定的尺寸屏幕上找不到资源的情况。
    然后在里面使用不同的dimens文件,Layout中不要使用显示的数字,所有的尺寸定义全都援引dimens里面的内容。
    这样能够保证深度UI定制的情况

  • 相关阅读:
    javascript快速入门27--XSLT基础
    javascript快速入门26--XPath
    javascript快速入门25--浏览器中的XML
    javascript快速入门24--XML基础
    javascript快速入门23--XHR—XMLHttpRequest对象
    javascript快速入门22--Ajax简介
    javascript快速入门21--DOM总结
    redis里能不能针对set数据的每个member设置过期时间
    Java中的long类型和Long类型比较大小
    Long类型比较大小,long型和Long型区别
  • 原文地址:https://www.cnblogs.com/adamli/p/3338528.html
Copyright © 2020-2023  润新知