android dimens.xml不同分辨率生成工具类
来源:互联网 发布:娶韩国妻子的感受知乎 编辑:程序博客网 时间:2024/06/13 02:36
public class DimenTool { static String path; public static void gen() { //XML file under this folder is the initial value reference File file = new File("./src/com/zcn/res/dimens.xml"); path = file.getAbsolutePath(); path = path.substring(0, path.indexOf(".")-1); path = path.replace("\\","/"); System.out.println("输出文件路径:"+path); BufferedReader reader = null; StringBuilder w480_320dp = new StringBuilder(); StringBuilder w480_800dp = new StringBuilder(); StringBuilder w1920_1080dp = new StringBuilder(); //StringBuilder w1280_720dp = new StringBuilder(); try { System.out.println("生成不同分辨率:"); reader = new BufferedReader(new FileReader(file)); String tempString; int line = 1; // Read in one line at a time, until null is the end of the file while ((tempString = reader.readLine()) != null) { if (tempString.contains("</dimen>")) { //tempString = tempString.replaceAll(" ", ""); String start = tempString.substring(0, tempString.indexOf(">") + 1); String end = tempString.substring(tempString.lastIndexOf("<") - 2); //cut down the value in dimen tag double num = Double.parseDouble (tempString.substring(tempString.indexOf(">") + 1, tempString.indexOf("</dimen>") - 2)); //depending different size,calculate new value, Joining together new string w480_320dp.append(start).append(num * 0.5).append(end).append("\r\n"); w480_800dp.append(start).append(num * 0.75).append(end).append("\r\n"); w1920_1080dp.append(start).append(num * 1.5).append(end).append("\r\n"); } else { w480_320dp.append(tempString).append(""); w480_800dp.append(tempString).append(""); w1920_1080dp.append(tempString).append(""); } line++; } reader.close(); String w480_320file = "./src/com/zcn/res/w480_320dp/dimens.xml"; String w480_800file = "./src/com/zcn/res/w480_800dp/dimens.xml"; String w1920_1080file = "./src/com/zcn/res/w1920_1080dp/dimens.xml"; createFile(w480_320file ,w480_320dp.toString()); createFile(w480_800file , w480_800dp.toString()); createFile(w1920_1080file , w1920_1080dp.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } public static boolean createFile(String destFileName,String info) { destFileName = path+destFileName.substring(destFileName.indexOf(".")+1); System.out.println("文件名:"+destFileName); File file = new File(destFileName); if(!file.exists()){ //判断目标文件所在的目录是否存在 if(!file.getParentFile().exists()) { //如果目标文件所在的目录不存在,则创建父目录 System.out.println("目标文件所在目录不存在,准备创建它!"+file.getParentFile()); if(!file.getParentFile().mkdirs()) { System.out.println("创建目标文件所在目录失败!"); return false; } } //创建目标文件 try { if (file.createNewFile()) { System.out.println("创建单个文件" + destFileName + "成功!"); writeFile(destFileName,info); return true; } else { System.out.println("创建单个文件" + destFileName + "失败!"); return false; } } catch (IOException e) { e.printStackTrace(); System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage()); return false; } } return true; } /** * write method */ public static void writeFile(String file, String text) { PrintWriter out = null; try { out = new PrintWriter(new BufferedWriter(new FileWriter(file))); out.println(text); } catch (IOException e) { e.printStackTrace(); } out.close(); } public static void main(String[] args) { gen(); }}
阅读全文
0 0
- android dimens.xml不同分辨率生成工具类
- 创建不同分辨率下的dimens工具类
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- 自动生成Android屏幕适配的dimens.xml文件工具类
- Android dimens 生成类
- Android 生成不同dimens文件的方法
- android屏幕适配,自动生成不同的dimens.xml详解
- android屏幕适配,自动生成不同的dimens.xml详解
- android屏幕适配,自动生成不同的dimens.xml详解
- android dimens.xml用法
- android适配dimens.xml
- 自动生成Android屏幕适配的dimens.xml
- 自动生成android dimens.xml适配屏幕
- 自动生成Android屏幕适配的dimens.xml
- android中批量处理dimens.xml的工具
- [开发工具] Android下适应各种分辨率——dimens转换工具
- 会话管理(Cookie、Session)
- 【HNOI2012】永无乡(splay,启发式合并)
- R语言对高频交易订单流进行建模分析 4
- .Net高级进阶,教你如何构建企业模型数据拦截层,动态控制字段验证
- Redis作者谈Redis应用场景
- android dimens.xml不同分辨率生成工具类
- Hibernate里如何增删查改?
- 用TreeSet存储以下数据
- Google PageRank算法学习
- PX4飞控之自主返航(RTL)控制逻辑
- STL常用容器用法之——stack
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测(tf.graph_util.convert_variables_to_constants函数)
- JSP img元素无法显示本地图片的问题(一)
- MyEclipse2017破解教程