SW的适配原理

SW全称是Smallest Width,表示最小宽度,例如一个适配文件夹values-sw411dp表示如果手机的最小宽度是411dp,那么就命中该文件夹,使用的配置都是这个文件夹下的。代码中可以用以下代码获取:

Configuration config = getResources().getConfiguration();
int smallestScreenWidth = config.smallestScreenWidthDp;
Log.i("SW","smallest width : "+ smallestScreenWidth);

Galaxy Nexus

Android中sw的文件夹数值计算_屏幕宽度

Log输出:SW: smallest width : 360

公式计算:720 / (320/160) = 360

Nexus 6

Android中sw的文件夹数值计算_最小宽度_02

Log输出:smallest width : 411

公式计算:1440 / (560/160) = 411

所以更为简单的计算公式为

sw = 屏幕宽度 / (dpi/160)