dd

和自甴很熟 提交于 2019-11-29 06:16:42


一、概念

  • px : pixels(像素)
  • dp/dip : device independent pixels(设备独立像素)
  • sp : scaled pixels(放大像素)
  • ppi : pixels per inch(像素密度,所表示的是每英寸所拥有的像素数量)
  • dpi : dots per inch(每英寸的点数)

1.px(像素)

一个像素通常被视为图像的最小的完整采样。通常所说的分辨率比如1280 * 720,指的就是可以显示1280 * 720个像素。

2.dp(设备独立像素)

这个和设备硬件有关,不同设备有不同的显示效果。在做项目时,为了适配市场上繁多的手机分辨率,建议使用dp。

3.sp(放大像素)

SP 全称是 Scale-independent Pixels,用于字体大小,其概念与DP是一致的,也是为了保持设备无关。

4.ppi(像素密度)

屏幕分辨率大不一定意味着显示更清晰,因为手机尺寸不知道,而屏幕的ppi越高,表示屏幕的像素密度越高,这样屏幕内容看起来就更加细腻,看起来也就更加真实。

5.dpi(屏幕密度)

屏幕密度与dpi密切相关,dpi是每英寸的点数。也就是说,密度越大,每英寸内容纳的点数就越多。

二、换算

1.px和dp

px=dp(dpi/160)px=dp*(dpi/160)

2.ppi

ppi的计算公式为:

在这里插入图片描述

PPI的例子:4.3英寸、分辨率1280*720

PPI=(12802+7202)/4.3=341.5359342PPI=√(1280^2+720^2)/4.3=341.5359……≈342

3.dpi

例子:分辨率1920 * 1080,ppi是401,尺寸是5.5英寸。要放在dpi为320同尺寸的设备上,资源使用dp作为单位,就需要选择屏幕的分辨率。

设原来的屏幕的长为a px,宽为b px,新屏分辨率为ka和kb。
a2+b25.5=401(ka)2+(kb)25.5=320\dfrac{\sqrt{a^2+b^2}}{5.5}=401,\dfrac{\sqrt{(ka)^2+(kb)^2}}{5.5}=320

k=320÷401=0.798k=320\div401=0.798

新屏长:ka=0.798×1920=ka=0.798\times 1920=


参考:
Android中px, ppi, dpi, dp, dip, sp概念解析

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!