android res中values-swxxdp计算

一. res中values-swxxdp计算
以四寸中控面板为例

通过adb shell wm size获取屏幕大小为1264x1680

通过adb shell wm density获取屏幕显示密度dpi为300

最小宽度计算方法:s w = 160 ∗ 手机宽度像素 / d p i sw=160*手机宽度像素/dpisw=160∗手机宽度像素/dpi

过公式计算得sw=674,即文件类型是values-sw674dp(注意该配置文件得读取规格是最接近但不超过,如还有两个values-sw660dp和values-sw678dp,则会选取最接近得values-sw674dp读取)

二.px与dp之间转换
屏幕像素px,计算公式为:

p x = 1 d p ∗ d e n s i t y px = 1dp * density
px=1dp∗density

密度比值density,计算公式为:

d e n s i t y = d p i / 160 density = dpi / 160
density=dpi/160

如面板分辨率为480x480,dpi为160,density为1,那么px : dp = 1 : 1
 

你可能感兴趣的:(android,dpi,values-sw,最小宽度)