1、什么是像素密度
- 每一寸所含有的像素点的个数。单位dpi。
2、dp与px的关系
- Android规定,在屏幕像素密度为160dpi的情况下,1dp=1px。而在像素密度为320dpi的情况下,1dp=2px,以此类推。
- 1dp = dpi/160 px。即在320dpi的手机上,1dp相当于2px。
3、分辨率、屏幕尺寸、像素密度到底指什么
- 分辨率:分辨率(resolution,港台称之为解析度)就是屏幕图像的精密度,是指显示器所能显示的像素的多少。例如:1080px * 1920px 代表屏幕宽度1080个像素,高度1920个像素,一块屏幕共可以显示2073600个像素。
- 注意:只有当屏幕尺寸一样的情况下,分辨率越高,显示效果才越精细和细腻。受显像管点距的影响,并不一定分辨率越大越清晰。
- 根据2中公式,应该是像素密度越高越精细
- 屏幕尺寸指的对角线的长度,单位英寸。
- 像素密度=屏幕对角线的像素点数➗对角线英寸
举例:
小米 MIX2分辨率为 1080*2160,尺寸为6英寸,像素密度是多少?
- 求像素密度需要知道对角线长度
- 屏幕对角线长度 即三角形斜边求值。斜边 = √(屏幕宽px²+屏幕高px²)= 402.5dpi
- 即,在此手机上 1px = 160/402.5dp = 0.4dp。所以UI设计稿中 100px的长度,在小米 MIX2上长度为40dp。
总结:
- 像素密度跟分辨率、屏幕尺寸有关系。
- 同一dp值,例如40dp,在不同dpi的手机上显示的像素长度不一样。实际显示px = 40 * (实际dpi/160)个px