1,Android 中 常用的单位

屏幕尺寸、屏幕分辨率、屏幕像素密度

dp、dip、dpi、sp、px

mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi

 

2,屏幕尺寸、屏幕分辨率、屏幕像素密度

【1】屏幕尺寸

  • 屏幕对角线长度,单位是英寸,我们常说的多少多少寸,比如4.7寸手机、5.7寸手机,指的就是这个。

  • 手机大小 

                 02,Android屏幕适配(单位)

 

【2】屏幕分辨率

  • 是指在手机屏幕的像素点的个数,单位是px,1px=1像素点,一般是纵向像素横向像素,如1920×1080,意味着高有1920个像素点,宽有1080个像素点。

 

 

 

【3】屏幕像素密度

  • 是指每英寸上的像素点数,单位是dpi(dot per inch)。像素密度和屏幕尺寸和屏幕分辨率有关,它是由对角线的像素点数除以屏幕的大小得到的,

  • 单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。

  • 关系如下:根号下 高的平方+宽的平方  / 屏幕尺寸大小

02,Android屏幕适配(单位) 

 

  • 代码获取dpi

                        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

                        // 密度

                        float density = displayMetrics.density;

                        密度(每寸像素)

                        int densityDpi = displayMetrics.densityDpi;

 

3,dp、dip、dpi、sp、px

 【1】dp:

  • 是 Android 特有的,意为密度无关像素,Google 发布的 BASELINE(基准线)为 160,以此为基准。

        dp = dpi/160

 

【2】dip:Density Independent Pixels,同dp。

 

【3】dpi:即为屏幕像素密度的单位

  • 每英寸上的像素点数,单位是dpi

  • dpi 的算法

    • 根号下 高的平方+宽的平方  / 屏幕尺寸大小  (dpi = px总和 /屏幕尺寸)

    • 1920x1920+1080x1080  开根号   /  手机英寸   dpi

    • 比如拿Nexus 5  分辨率1920*1080  屏幕尺寸5.0    

1920*1920=3686400

1080*1080=1166400

3686400+1166400=4852800

根号4852800 /5 = 440.581434016         320- 480之间

 

 

【4】sp:Scale-Independent Pixels的缩写,可以根据文字大小首选项自动进行缩放。

  • Google推荐我们使用12sp以上的大小,通常可以使用12sp,14sp,18sp,22sp,为避免精度损失,建议最好不要使用奇数和小数。

 

【5】px:就是我们常说的像素

 

【6】density:  屏幕密度,density和dpi的关系为 density = dpi/160

 

4,mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi

 

【1】常用的dpi 的换算

  • 1dp 在不同分辨率上显示多少px

常见分辨率名

屏幕分辨率

dpi(范围值)

density

1dp=“x”px   (px=dpi/Baseline)

ldpi

320x240    

120

density=0.75

1 dp = 0.75px   (120dpi/160=0.75px)

mdpi

480x320

160(Baseline)

density=1

1 dp = 1px        (160dpi/160=1px)       

hdpi

800x480

240

density=1.5

1 dp = 1.5px        (240dpi/160=1.5px)

xhdpi

1280x720    

320

density=2

1 dp = 2px        (320dpi/160=2px)

xxhdpi

1920x1080

480  

density=3

1 dp = 3px        (480dpi/160=3px)

xxxhdpi

3840×2160

640

density=4

1 dp = 4px          (640dpi/160=4px)

文档中介绍他们之间的关系,告知他们的比例为2:3:4:6:8,其实就是160、240、320、480、640的比例。

配以图说明如下:

 

02,Android屏幕适配(单位)

 

 

 

 

相关文章: