Android开发px、dpi和dp之间的关系和换算

px:即像素,是手机的物理尺寸,如手机1920*1080就是宽度方向上有1080个像素点,高度方向上有1920个像素点

dpi:是一个相对尺寸,即每英寸的像素点数

dp:一个相对单位,与手机物理像素点无关。

px换算dpi:

Android开发px、dpi和dp之间的关系和换算

dpi就是每英寸包含的点数,很好算,根据勾股定理,如手机为1920*1080,可以根据勾股定理得出对角线的像素为多少

那么再用对角线的像素乘以屏幕规格就得出px换算dpi的公式了

Android开发px、dpi和dp之间的关系和换算

如,这里手机为1920*1080的,5英寸,套入公式算得每英寸有440个像素点

px换算为dp:

在Android中规定,以160dpi为基准:1dp=1px

那么只要知道这个手机的dpi就可以计算此时这个手机的px和dp的关系了

以1920*1080,5英寸手机为例,计算得dpi为440,那么此时dp=440/160 px