为什么说1dp是固定长度?到底它码的多长呢?
为什么说px是相对长度,不知道dpi就不知道多长。
首先,我们要区分一个概念
控件,文字,我们用的是dp,sp,所以在不同设备上,会根据设备的dpi 转化成相应的px
从而保证在不同设备上都一样大。
举个例子,1dp到底多大
1dp 在 160dpi的机子上跑, 那么1dp=1px 而知道dpi=160 也就是每英寸有160个像素,那么,一个像素的长度即1/160英寸。
而1dp 在320dpi的机子上跑,那么1dp=2px 知道dpi=320,也就是一个像素的length为1/320英寸,要显示1dp的控件 需要2px 则长度为2*1/320 仍然是1/160英寸,所以长度固定。
而图片,由于图片的单位是px,所以就需要做适配,需要根据不同的设备,建立不同的文件夹,把同一张图片的不同像素大小存在不同文件夹里,真机运行时候会根据真机的dpi加载合适文件夹里的图片。
而你要是只有一张图片,那px大小是固定的,自然在不同设备跑,这张图片显示的大小是不一样的。