android UI设计图片和文字尺寸px对应dp、sp值换算

时间:2024-03-16 08:52:35

屏幕尺寸:指屏幕的对角线长度,单位是英寸,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”的缩写,计算方式如下图:

android UI设计图片和文字尺寸px对应dp、sp值换算

密度无关像素:单位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 UI设计图片和文字尺寸px对应dp、sp值换算

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.