px、dp、sp的转换方式

本文介绍了Android中像素px、设备独立像素dp和可缩放像素sp的概念,以及它们之间的转换关系。内容包括屏幕密度等级、PPI计算方式以及dp和sp在字体设置中的应用差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先理解一下像素和分辨率的关系:

px:像素,是指由在一个数字序列表示的图像中的一个最小单位。

分辨率:是屏幕图像的精密度,指显示器能显示的像素的多少,显示器可显示的像素越多,画面就越精细。

常见的像素值

相机所说的像素,其实是最大像素的意思,像素是分辨率的单位,这个像素值仅仅是相机所支持的有效最大分辨率。

30万 640×480

50万 800×600

80万 1024×768 5” (3.5×5英寸)

130万 1280×960 6” (4×6英寸)

200万 1600×1200 8”(6×8英寸) 5”(3.5×5英寸)

310万 2048×1536 10”(8×10寸) 7”(5×7英寸)

430万 2400×1800 12”(10×12英寸) 8”(6×8英寸)

500万 2560×1920 12”(10×12英寸) 8”(6×8英寸)

600万 3000×2000 14”(11×14英寸) 10”(8×10寸)

800万 3264×2488 16”(12×16英寸) 10”(8×10寸)

1100万 4080×2720 20”(16×20英寸) 12”(10×12英寸)

1400万 4536×3024 24”(18×24英寸) 14”(11×14英寸)

以上都是大约尺寸。

PPI:屏幕像素点密度,表示在水平的和垂直的方向上,每英寸距离的图像包含的像素数目。ppi越高,代表显示屏能够以越高的密度显示图像,密度越高,拟真度就越高。

ppi的计算方式:

 

(X:长度像素数;Y:宽度像素数;Z:屏幕尺寸即对角线长度)

dp:1dp表示在屏幕像素点为160ppi1px的长度。

dppx的换算方式:

dp*ppi/160=px   eg:1dp*320ppi/160=2px

dp/px=ppi/160

 

android 手机屏幕密度等级和屏幕逻辑尺寸

像素密度等级 等级像素密度 逻辑像素密度 屏幕像素 屏幕尺寸(inch) 宽逻辑尺寸(dp单位) 真实像素密度 设备型号
ldpi-0.75 120 120 240*320 2.7 w320dp 140.55  
mdpi-1 160 160 320*480 3.2 w320dp 180.27  
hdpi-1.5 240 240 480*800 3.4 w320dp 274.39  
xhdpi-2 320 320 720*1280 4.65 w360dp 315.6  
xhdpi-2 320 320 768*1280 4.65 w384dp 321 Nexus4
xxhdpi-3 480 480 1080*1920 4.95 w360dp 445 Nexus5
xxhdpi-3 480 420 1080*1920 5.2 w411dp 423 Nexus5X
xxxdpi-4 640 560 1440*2560 5.96 w411dp 493 Nexus6/6P

 

spdp的关系:

一般情况下,我们认为dp=sp,但是它们之间也有区别。

在设置字体时,我们习惯使用sp,因为使用sp作为字体大小单位,会随着系统的字体大小改变,而dp作为单位则不会。

关于sp, 文档 的描述为:

Scale-independent Pixels – This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.

大致意思为

sp除了受屏幕密度影响外,还受到用户的字体大小影响

通常情况下,建议使用sp来跟随用户字体大小设置

因此通常情况下,我们还是建议使用sp作为字体的单位,除非一些特殊的情况,不想跟随系统字体变化的,可以使用dp.

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值