px 与 dp, sp换算公式

px 与 dp, sp换算公式

虽然 早已 知道 dp dip px sp 之间的关系 ,但是 有些细节 还是 有必要 再拿来 温习一些,会有新的收获,能从原理上去理解

PPI = Pixels per inch,每英寸上的像素数,即 "像素密度"

xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75

drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分别为低、中(android默认)、高。

对应的图片大小为:36x36、48x48、72x72。

xxhdpi: 144*144

xhdpi:96*96

hdpi:72*72

mdpi:48*48

ldpi:36*36

dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:

在320x480分辨率,像素密度为160,1dp=1px

在480x800分辨率,像素密度为240,1dp=1.5px

计算公式:1dp*像素密度/160 = 实际像素数

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)

(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

ppi的运算方式是:

PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px,

dp和px的换算公式 :

dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。

sp 与 px 的换算公式:sp*ppi/160 = px

总结得出:

px = dp*ppi/160

dp = px / (ppi / 160)

px = sp*ppi/160

sp = px / (ppi / 160)

dp = sp?

相关推荐

《魔兽世界》橙色披风起始任务指南_从获取到完成的全流程
中脘一按就痛怎么办
365投注入口

中脘一按就痛怎么办

⌛ 07-31 👁️ 9017
海关清关需要多久?都有哪些注意事项?
菠菜365哪个是真的

海关清关需要多久?都有哪些注意事项?

⌛ 08-16 👁️ 4221
这些老年人常用软件你知道吗
速发365网址

这些老年人常用软件你知道吗

⌛ 06-30 👁️ 4032
使命召唤9:黑色行动2
365投注入口

使命召唤9:黑色行动2

⌛ 09-27 👁️ 8892
哪些人不宜食用海马
速发365网址

哪些人不宜食用海马

⌛ 07-25 👁️ 1721