AutoView自动为旧设计稿更新新设计稿尺寸
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                AutoView自动为旧设计稿更新新设计稿尺寸
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                使用AutoView適配框架適配Ui的時候,可以直接根據ui設計的尺寸做界面。
但是坑爹的Ui, 在設計時如果使用兩種不同尺寸的設計稿,或者復用不同尺寸的設計稿,那在處理時,就需要花一番功夫測量設計稿,再重新計算,故根據正則表達式做了自動更新的代碼。
public class AutoSizeUtils {public static void main(String[] args) {String dir = "D:\\convert\\original"; //原目錄readDir(dir);}private static void readDir(String dir) {File file = new File(dir); //讀取目錄String[] list = file.list();for(String path: list) {readFiles(dir, path);}}private static void readFiles(String dir, String name) {int num = 0;try {File f = new File("D:\\convert\\result" + "\\" + name); //目標文件 更換了路徑 // FileReader fr=new FileReader(dir + "\\" + name); //直接使用FileReader讀寫會導致讀寫中文亂碼InputStreamReader reader = new InputStreamReader(new FileInputStream(dir + "\\" + name),"UTF-8");//防止中文亂碼BufferedReader br = new BufferedReader(reader);FileWriter fw = new FileWriter(f);BufferedWriter bw = new BufferedWriter(fw);String line;while((line=br.readLine())!=null){//判斷是否是最后一行System.out.println(num++ + line);//輸出每一行內容。String newline = convert(line); bw.write(newline, 0, newline.length());bw.newLine();}bw.flush();reader.close();br.close();bw.close();fw.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }/*** 正則匹配 修改尺寸* @param msg* @return*/private static String convert(String msg) {String regex = "\\D*[=]{1}[\"][0-9]+px[\"]\\D*";boolean b = Pattern.compile(regex).matcher(msg).matches();if(b) {int first = msg.indexOf("=\"");int last = msg.indexOf("px\"");String s = msg.substring(first + 2, last);int i = (int) (Integer.parseInt(s) * 1.17); //修改尺寸的比率 比如 1.17 邊距大小增加0.17倍 msg = msg.replace(s, String.valueOf(i)); //重新賦值}return msg;}}希望能幫助有用的朋友,不要像我前期一樣傻呵呵的想著重新測量計算。
總結
以上是生活随笔為你收集整理的AutoView自动为旧设计稿更新新设计稿尺寸的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: stm32f103c8t6最小系统板+n
- 下一篇: android 4.2.2进度条,And
