Android中快速生成dimens文件
来源:互联网 发布:apache服务器下载64位 编辑:程序博客网 时间:2024/06/09 17:52
很多公司ui为了兼容Android和iOS,切的图都是按照iPhone6的尺寸来切的一倍图,而且都是px为单位的,我们使用的时候还需要进行转换,很麻烦,iPhone6的尺寸对应Android的xhdpi。所以自己就写了一个java工具类直接来生成demins文件。
public class MyClass {private static final String mPath = "./src/wxz/dimens-m.xml"; private static final String hPath = "./src/wxz/dimens-h.xml"; private static final String xhPath = "./src/wxz/dimens-xh.xml"; private static final String xxhPath = "./src/wxz/dimens-xxh.xml"; private static final String xxxhPath = "./src/wxz/dimens-xxxh.xml"; public static void main(String[] args) { MyClass myClass = new MyClass(); myClass.createDimens(); } private void createDimens() { System.out.println("createDimens: start"); try { File mFile = new File(mPath); File hFile = new File(hPath); File xhFile = new File(xhPath); File xxhFile = new File(xxhPath); File xxxhFile = new File(xxxhPath); if (!mFile.exists()) { mFile.createNewFile(); } if (!hFile.exists()) { hFile.createNewFile(); } if (!xhFile.exists()) { xhFile.createNewFile(); } if (!xxhFile.exists()) { xxhFile.createNewFile(); } if (!xxxhFile.exists()) { xxxhFile.createNewFile(); } FileWriter mWriter = new FileWriter(mFile); FileWriter hWriter = new FileWriter(hFile); FileWriter xhWriter = new FileWriter(xhFile); FileWriter xxhWriter = new FileWriter(xxhFile); FileWriter xxxhWriter = new FileWriter(xxxhFile); BufferedWriter mBuffer = new BufferedWriter(mWriter); BufferedWriter hBuffer = new BufferedWriter(hWriter); BufferedWriter xhBuffer = new BufferedWriter(xhWriter); BufferedWriter xxhBuffer = new BufferedWriter(xxhWriter); BufferedWriter xxxhBuffer = new BufferedWriter(xxxhWriter); mBuffer.write("<resources>"); hBuffer.write("<resources>"); xhBuffer.write("<resources>"); xxhBuffer.write("<resources>"); xxxhBuffer.write("<resources>"); mBuffer.newLine(); hBuffer.newLine(); xhBuffer.newLine(); xxhBuffer.newLine(); xxxhBuffer.newLine(); StringBuilder ms; StringBuilder hs; StringBuilder xhs; StringBuilder xxhs; StringBuilder xxxhs; for (int i = 1; i <= 1200; i++) { ms = new StringBuilder(); hs = new StringBuilder(); xhs = new StringBuilder(); xxhs = new StringBuilder(); xxxhs = new StringBuilder(); ms.append("<dimen name=\"").append("px").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 1.00)).append("dp").append("</dimen>"); hs.append("<dimen name=\"").append("px").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 1.50)).append("dp").append("</dimen>"); xhs.append("<dimen name=\"").append("px").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 2.00)).append("dp").append("</dimen>"); xxhs.append("<dimen name=\"").append("px").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 3.00)).append("dp").append("</dimen>"); xxxhs.append("<dimen name=\"").append("px").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 4.00)).append("dp").append("</dimen>"); mBuffer.write(ms.toString()); hBuffer.write(hs.toString()); xhBuffer.write(xhs.toString()); xxhBuffer.write(xxhs.toString()); xxxhBuffer.write(xxxhs.toString()); mBuffer.newLine(); hBuffer.newLine(); xhBuffer.newLine(); xxhBuffer.newLine(); xxxhBuffer.newLine(); } for (int i = 1; i <= 120; i++) { ms = new StringBuilder(); hs = new StringBuilder(); xhs = new StringBuilder(); xxhs = new StringBuilder(); xxxhs = new StringBuilder(); ms.append("<dimen name=\"").append("sp").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 1.00)).append("sp").append("</dimen>"); hs.append("<dimen name=\"").append("sp").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 1.50)).append("sp").append("</dimen>"); xhs.append("<dimen name=\"").append("sp").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 2.00)).append("sp").append("</dimen>"); xxhs.append("<dimen name=\"").append("sp").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 3.00)).append("sp").append("</dimen>"); xxxhs.append("<dimen name=\"").append("sp").append(i).append("\">").append(String.format(Locale.CHINA, "%1$.2f", i / 4.00)).append("sp").append("</dimen>"); mBuffer.write(ms.toString()); hBuffer.write(hs.toString()); xhBuffer.write(xhs.toString()); xxhBuffer.write(xxhs.toString()); xxxhBuffer.write(xxxhs.toString()); mBuffer.newLine(); hBuffer.newLine(); xhBuffer.newLine(); xxhBuffer.newLine(); xxxhBuffer.newLine(); } mBuffer.newLine(); hBuffer.newLine(); xhBuffer.newLine(); xxhBuffer.newLine(); xxxhBuffer.newLine(); mBuffer.write("</resources>"); hBuffer.write("</resources>"); xhBuffer.write("</resources>"); xxhBuffer.write("</resources>"); xxxhBuffer.write("</resources>"); mBuffer.flush(); hBuffer.flush(); xhBuffer.flush(); xxhBuffer.flush(); xxxhBuffer.flush(); mWriter.flush(); hWriter.flush(); xhWriter.flush(); xxhWriter.flush(); xxxhWriter.flush(); mBuffer.close(); hBuffer.close(); xhBuffer.close(); xxhBuffer.close(); xxxhBuffer.close(); mWriter.close(); hWriter.close(); xhWriter.close(); xxhWriter.close(); xxxhWriter.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("createDimens: end"); }}可以直接使用eclipse来运行java文件,之后就可以在当前项目下生成对应的尺寸文件。
吐槽一下,AndroidStudio3.0上运行纯java文件,跑不起来,我不知道是什么原因,如果有哪位大神之后,希望能给一个解答,我截一个as3.0运行纯java文件,报的错误:
阅读全文
3 0
- Android中快速生成dimens文件
- Android学习------Dimens文件生成
- Android 生成不同dimens文件的方法
- 自动生成dimens文件
- 自动生成dimens文件
- Android dimens 生成类
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- Android利用dimens.xml进行适配,使用代码生成不同的dimens.xml文件
- Android中dimens适配
- Android快速屏幕尺寸适配 快速生成 res/dimens.xml
- 自动生成Android屏幕适配的dimens.xml文件工具类
- Android 适配屏幕问题(一) 自动生成dimens文件
- Android dimens文件数据批处理--JAVA
- 自动生成Android屏幕适配的dimens.xml
- 自动生成android dimens.xml适配屏幕
- 自动生成Android屏幕适配的dimens.xml
- android dimens.xml不同分辨率生成工具类
- linux驱动开发 --miscdevice
- 用nc做网络压力测试
- 对于RSA加密算法的理解
- 动作识别文献阅读笔记--光流法系列
- Linux 进程控制
- Android中快速生成dimens文件
- 索引与视图
- 名企笔试:腾讯2016招聘笔试(微信红包)
- JSTL标准标签库之SQL标签
- Android Native crash monitor on device and host
- 344. Reverse String
- spring-web包与spring-webmvc包作用
- Unity 中的音乐可视化
- 通过开发者工具复制喜欢的网页风格HTML和css样式到自己的网页/站