屏幕尺寸:指屏幕的对角线长度,单位是英寸,1英寸等于2.54厘米,常见尺寸有2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0等。
屏幕分辨率:指在纵横向上的像素点数,单位是px,1px为一个像素点,一般格式为纵向像素*横向像素,如1960*1080。
屏幕像素密度:相同尺寸情况下,分辨率越高,屏幕越清晰,即屏幕像素密度越大。屏幕像素密度指每英寸上面的像素点个数,单位是dpi,是“dot per inch”的缩写,计算方式如下图:
密度无关像素:单位dip或dp,是Density Independent Pixels的缩写,Android规定,在屏幕像素密度为160dpi的情况下,1dp=1px。而在像素密度为320dpi的情况下,1dp=2px,以此类推。计算公式:1dp=(像素密度/160dpi)*1px。
sp:全称cale-independent pixels,与dp类似,用于设置字体大小。
设置布局时,使用dp和sp(字体),不要直接使用px,这样才能保证屏幕适配。
dpi的范围划分:
Android的图标尺寸
屏幕大小 | 启动图标 | 操作栏图标 | 上下文图标 | 系统通知图标(白色) | 最细笔画 |
---|---|---|---|---|---|
320×480 px |
48×48 px | 32×32 px | 16×16 px | 24×24 px | 不小于2 px |
480×800px 480×854px 540×960px |
72×72 px | 48×48 px | 24×24 px | 36×36 px | 不小于3 px |
720×1280 px |
48×48 dp | 32×32 dp | 16×16 dp | 24×24 dp | 不小于2 dp |
1080×1920 px |
144×144 px | 96×96 px | 48×48 px | 72×72 px | 不小于6 px |
Android安卓系统dp/sp/px换算表
名称 | 分辨率 | 比率 rate (针对320px) | 比率 rate (针对640px) | 比率 rate (针对750px) |
---|---|---|---|---|
idpi |
240×320 | 0.75 | 0.375 | 0.32 |
mdpi |
320×480 | 1 | 0.5 | 0.4267 |
hdpi |
480×800 | 1.5 | 0.75 | 0.64 |
xhdpi |
720×1280 | 2.25 | 1.125 | 1.042 |
xxhdpi |
1080×1920 | 3.375 | 1.6875 | 1.5 |
上面两个表很多博客里都有贴,然后都没有介绍具体含义,刚开始总是似懂非懂,此篇文章就旨在弥补这一点:
比如UI设计师给的图是以750px的屏幕宽度作为标准的,例如一张图片的尺寸是100px*100px,或者字体大小为100px,则换算成android的dp和sp为(以上图1080*1920 5英寸屏为常用适配机型 a = 440/160=2.75,1dp = a*1px):rate*100/a=1.5*100/2.75
约等于100*0.5=50dp/sp.