适配原因
原生渲染前会将dp转为px,dpi就是导致差异化因素也叫像素密度,根据设备分辨率和尺寸计算得出,出厂时已经决定了
density = dpi / 160
px = dp * density
适配方案
1.dimens基于px适配(宽高限定符适配)
在res文件中,定义不同分辨率px参数,例如values-480*320 ,但是这种方案由于手机分辨率太多,局限性太高,弃用。
2.dimens基于dp适配(smallestWidth适配)
这种是根据最小宽度限定符,android会识别屏幕可用宽高的最小dp值,然后根据结果去寻找对应限定符的文件夹下的资源文件。
比如没有value-sw360dp 文件夹会向下寻找 value-sw350dp ,这种增加了分辨率匹配的容错率。
但是这种弊端是,会增加多个文件夹,而且也不能完美匹配所有机型
3.今日头条适配
今日头条适配方案是通过修改手机设备密度density完成的,通过修改density值,强行把所有不同尺寸分辨率的手机的宽度dp值改成一个统一的值&#