Android简单高效的屏幕适配方案--SmallestWidth适配

smallestWidth也叫做sw限定符,是在Android3.2引入的一种用来适配平板的方案。使用这种方案可以简单高效稳定的实现屏幕路适配。
原理: Android会识别手机宽高中最小的那个值(其实就是宽度),然后根据识别到的数值去资源文件中寻找对应的文件Android简单高效的屏幕适配方案--SmallestWidth适配_第1张图片
比如:我的华为手机屏幕宽度是300dp,对应的就是sw300dp的文件夹。再来看看sw300文件夹下的dimens.xml文件Android简单高效的屏幕适配方案--SmallestWidth适配_第2张图片
上图是以设计图宽度375dp为标准生成的。把宽度分为375份 300/375=0.8.所以1份相当于0.8dp。这样就可以依照设计图的尺寸填写控件大小了,也就实现了宽度为300dp手机的适配。

如果没有找到这个手机的尺寸,它会寻找最接近的尺寸。比如我这没有生成sw300文件夹。宽度为300dp的手机就会自动找到sw310的文件夹,有很好的容错机制。
遇到需要适配的手机型号,只需要生成对应的资源文件就可以了。

缺点就是文件夹的增加会导致apk增加,应该有几百kb的样子。

sw文件压缩包下载(上面截图展示的那几种尺寸):sw适配文件下载

有需要的也可以下载别人提供的sw生成项目代码自己生成想要的文件:sw文件生成项目代码

你可能感兴趣的:(android开发)