天天看点

Android开发之Ruby实现Android自动化屏幕适配

背景:我相信对于android开发者来说,屏幕适配一直是你心中的痛~,为了让android开发者从屏幕适配的痛苦中解脱出来,我决定实现这个android自动化屏幕适配的1.0版本。下面来讲一下思路。

首先以values-w360作为标准也就是360dp,对应的设备就是720×1080俗称的720p的屏幕,也就是说设计师给的设计稿是以720p的屏幕作为设计图的,那么如果设计图上面的尺寸是100px,那么我们就需要用100/2 = 50dp得到我们的这个标准值,以此类推,将app中所有需要适配的尺寸都写入到values目录的dimens.xml(标准值)中,android程序员所需要做的工作就这么多了。

接下来的工作就交给脚本了,首先脚本会将<code>values/dimens.xml</code>拷贝到需要适配的屏幕分辨率对应的目录,例如<code>values-w400</code>,然后用正则匹配出每一个尺寸,进行计算然后重新写入适配之后的值,这里以360dp为标准,400dp为需要适配的目标设备,以100px为例,那么(400/360)×

100 = 111,那么在<code>values-w400dp</code>这个目录中的dimens的该项目的值就是111dp了。

总结:好了简单的ruby自动化适配脚本就完成了,当然还有很多需要改进的地方,现在是每一次运行脚本就会覆盖目标目录中的dimens.xml文件,如果有时候自动适配的效果不好偶尔需要人工做一些微调,但是执行这个脚本之后微调的值就会丢失掉,所以还需要改进。有兴趣的同学可以自己实现。

继续阅读