开发android项目,需要进行多分辨率适配,能够支持国内主流的分辨率手机,总结一下,分为三个阶段:
一、一开始再做适配工作如果分辨率很接近就使用同一套xml布局文件,分辨率差距较大就会重新写一套,这样会很耗时间。
二、后来使用dimens文件,通过在xml中使用dimens文件确实可以帮助我们省去大多数时间。但是最近又遇到一个问题,就是有新的机型需要适配时,特别是提测的前期,需要根据dpi和密度计算出新分辨率下各种宽高值,如果你的项目很庞大,那么工作量也是不小的,最关键问题是手动计算很可能会出错,后来就自己写了一个小东西,根据标准分辨率自动生成新分辨率的dimens文件,省去很多事。
三、在这份代码中,以960X540分辨率为参照,生成800X480和854X480两种分辨率的dimens文件,具体代码如下:
public class DimenTool {
//参照分辨率dimens文件路径
public static final String dimensPath = "D:/workspace/res/values-hdpi/dimens.xml";
public static final String h800dimensPath = "D:/workspace/values-hdpi-800X480/dimens.xml";
public static final String h854dimensPath = "D:/workspace/values-hdpi-854X480/dimens.xml";
public static void main(String[] args) {
一、一开始再做适配工作如果分辨率很接近就使用同一套xml布局文件,分辨率差距较大就会重新写一套,这样会很耗时间。
二、后来使用dimens文件,通过在xml中使用dimens文件确实可以帮助我们省去大多数时间。但是最近又遇到一个问题,就是有新的机型需要适配时,特别是提测的前期,需要根据dpi和密度计算出新分辨率下各种宽高值,如果你的项目很庞大,那么工作量也是不小的,最关键问题是手动计算很可能会出错,后来就自己写了一个小东西,根据标准分辨率自动生成新分辨率的dimens文件,省去很多事。
三、在这份代码中,以960X540分辨率为参照,生成800X480和854X480两种分辨率的dimens文件,具体代码如下:
public class DimenTool {
//参照分辨率dimens文件路径
public static final String dimensPath = "D:/workspace/res/values-hdpi/dimens.xml";
public static final String h800dimensPath = "D:/workspace/values-hdpi-800X480/dimens.xml";
public static final String h854dimensPath = "D:/workspace/values-hdpi-854X480/dimens.xml";
public static void main(String[] args) {