android屏幕适配,生成不同分辨率的dimen.xml文件

1.在项目下新建moudle,选择Java Library,如图:android屏幕适配,生成不同分辨率的dimen.xml文件_第1张图片

2.编写工具类:

public class DimenUtils {
    //文件保存的路径  是在该项目下根路径下创建  比如该项目创建的路径是C:\MyProject\,
    // 则保存的文件路径是C:\MyProject\DimensDemo\app\src\main\res\values-360x640\dimens.xml
    //sdk 3.2 之后可使用 values-sw600dp\命名文件夹
    private final static String rootPath = "app/src/main/res/values-{0}x{1}";


    private final static float dw = 360f;//默认布局的宽
    private final static float dh = 640f;//默认布局的高

    private final static String WTemplate = "{1}px\n";
//    private final static String HTemplate = "{1}px\n";
    public static void main(String[] args) {
//        makeString(1080, 720);
//        makeString(1920, 1080);
//        makeString(1366, 768);

        //平板
        makeString(1200, 1920);
        makeString(1536, 2048);
        makeString(1600, 2560);
    }

    //获取dimen.xml的文本内容
    public static void makeString(int w,int h){
         StringBuffer sb=new StringBuffer();
        sb.append("\n");
        sb.append("");

        //遍历获取一系列宽的值
        float cellw =w / dw;//宽的比例
        for (int i = 0; i ");

        makeFile(w,h,sb.toString());
    }

    //创建文件并写入内容
    private static void makeFile(int w,int h,String text){
        String path = rootPath.replace("{0}",w+ "").replace("{1}",h+ "");
        File rootFile = new File(path);
        if (!rootFile.exists()) {
            rootFile.mkdirs();
        }
        File file=new File(path,"dimen.xml");
        try {
            PrintWriter pw=new PrintWriter(new FileOutputStream(file));
            pw.println(text);
            pw.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static float change(float a) {
        int temp = (int) (a * 100);
        return temp / 100f;
    }
}

3.右键运行该文件,即可生成对应的dimens文件:

android屏幕适配,生成不同分辨率的dimen.xml文件_第2张图片

 

你可能感兴趣的:(android屏幕适配,生成不同分辨率的dimen.xml文件)