Android 屏幕标准

分辨率:手机屏幕的像素点数,一般描述成屏幕的“宽×高”,如1080×1920。

屏幕大小:手机对角线的物理尺寸,以英寸(inch)为单位,如5寸屏。

像素密度:对角线上每英寸的像素点数,以dpi(dots per inch)为单位。

           如√(1080 ^2+1920^2)/5=2203/5 = 440dpi

              √(1080 ^2+1920^2)/6=2203/6 = 367dpi

宽逻辑尺寸:手机屏幕宽度以dp为单位计量的值。

如 1080×1920的5寸手机,宽逻辑尺寸为:1080px/(440/160) = 392dp。720×1080的5寸手机,宽逻辑尺寸为:720px/(320/160)=360dp。

注:dp是一种与像素密度无关的单位,能够根据不同的屏幕像素密度获得不同的像素(px)数量。屏幕像素密度为160dpi时,dp与px等价,当像素密度为240dpi时,1dp 等价于1.5px,以此规则可将各像素密度下dp单位的值计算得到像素值。使用dp单位来定义控件的宽高,可以使布局能较好地适配不同像素密度的手机屏幕。

1.等级像素密度

系统定义了一些固定密度:120 160 240 320 480 640,以防止真实像素密度碎片化问题。

如上述计算的密度为440dpi,367dpi,都已超过320,则对应系统密度的480dpi。

dp与px计算对照(mdpi  1dp=1px):

ldpi:1dp=0.75px  mdpi:1dp=1px  hdpi:1dp=1.5px  xhdpi:1dp=2px  xxhdpi:1dp=3px  xxxhdpi:1dp=4px

Android手机屏幕标准           对应图标尺寸标准      等级像素密度    比例

xxxhdpi 2160*3840                         192*192                   640              4

xxhdpi 1080*1920                           144*144                   480              3

xhdpi  720*1280                               96*96                      320              2

hdpi    480*800                                72*72                       240            1.5

mdpi   320*480                                 48*48                      160             1

ldpi   240*320                                   36*36                      120            0.75

2.宽逻辑尺寸(dp单位)

资源调用规则

layout-sw600dp sw即smallwidth,当屏幕的绝对宽度大于600dp时,屏幕就会自动调用layout-sw600dp文件夹里面的布局,同理也会自动调用values-sw600dp里的尺寸资源。

layout-w600dp w即width,当屏幕的相对宽度(如横屏时则以长边为宽度)大于600dp时,屏幕就会自动调用layout-w600dp文件夹里面的布局,同理也会自动调用values-w600dp里的尺寸资源。

屏幕宽计算

dp与px比例计算

通过实际的屏幕密度,参照160dpi时的1:1来计算dp与px的比率,如240dpi下ratio=240/160= 1.5px/dp。

屏幕宽计算

按照上述计算比例,将px单位的宽度换算为dp单位的宽度

如 1080*1920 的5寸屏 ,屏幕密度为440dpi,dp与px比例为440/160=2.75(px/dp) ,屏幕宽为1080px/2.75(px/dp) = 392dp

1080*1920 的8寸屏,屏幕密度为275dpi,屏幕宽为1080/(275/160) = 628dp。对应sw600dp。

1080*1920 的10寸屏,屏幕密度为220dpi,屏幕宽为1080/(220/160) = 785dp。对应sw720dp。

你可能感兴趣的:(Android 屏幕标准)