屏幕适配的这个问题到现在对于每个android开发人员来说,可能都是小菜一碟了,可三年前不这样,五花八门,简直八仙过海,各显神通。
首先,由于android 的碎片化结构,我们目前知道的市面上仅针对手机或者平板的屏幕有以下几种:
480x800 ,720x1280,1080x1920,1440x2560
以及800x1280,1200x1920,2650x1800,2650x1600....
以后可能还会有更多的。
总结归纳有以下几种:
先不说个中原理啊(研究各种原理和缺陷的网上资料一大把)。这里只是列举:
布局
1、全篇使用比重来做。
2、创建不同分辨率的layout目录,然后创建布局文件(真的很low,而且工作量巨大)
3、dimens上面做文章,创建不同values文件夹。
4、android还提供了了百分比布局库(其实对于老项目来说,就是个坑了,所有的布局都要改一遍)
我个人在对适配上,还是喜欢用dimes,比较对我的口味。
图片
其实图片普遍的是通过项目中的drawable-hdpi ,drawable-mhdpi,drawable-xhdpi,drawable-xxhdpi分别放置由UI提供的四种分辨率图片。
其实,我还是觉得用nine-Patch(即通常讲的.9图)比较实用。工作量将节省不少,更加便捷。如果有不同意见请指教。哈哈。。
之前我一直去写个类,创建dimens文件,实在费劲,就在网上找了个基于swing的一个dimens文件生成工具。
这里分享一下,也自己留一下备用。
左边是输入dimes文件,也就是你需要适配哪些dp 、xp、sp,中间是基于哪个分辨率,右边是输出路径。
代码下载之后,直接在cmd 编译执行一下就可以用了,用cmd编译的时候一定要记得配好环境变量。