1.在项目下新建moudle,选择Java Library,如图:

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 = "<dimen name=\"dp_{0}\">{1}px</dimen>\n";
//    private final static String HTemplate = "<dimen name=\"dp_{0}\">{1}px</dimen>\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("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");sb.append("<resources>");//遍历获取一系列宽的值float cellw =w / dw;//宽的比例for (int i = 0; i <dw ; i++) {sb.append(WTemplate.replace("{0}",i + "").replace("{1}",change(cellw * i) + ""));}sb.append(WTemplate.replace("{0}",dw+"").replace("{1}", w + ""));//遍历获取一系列高的值float cellh=h/dh;//高的比例
//        for (int i = 0; i <dh ; i++) {
//            sb.append(HTemplate.replace("{0}",i + "").replace("{1}",
//                    change(cellh * i) + ""));
//        }
//
//        sb.append(HTemplate.replace("{0}",dh+"").replace("{1}", h+ ""));sb.append("</resources>");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文件相关推荐

  1. 2021年最详细的Android屏幕适配方案汇总

    1 Android屏幕适配的度量单位和相关概念 建议在阅读本文章之前,可以先阅读快乐李同学写的文章<Android屏幕适配的度量单位和相关概念>,这篇文章包含了阅读本文的一些基础知识,推荐 ...

  2. Android 系统(186)---最易懂的Android屏幕适配解决方案--总结版

    最易懂的Android屏幕适配解决方案--总结版 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 ...

  3. Android开发:最全面、最易懂的Android屏幕适配解决方案

    目录 Android屏幕适配解决方案.png 定义 使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果 相关重要概念 屏幕尺寸 含义:手机对角线的物理尺寸 单位:英寸(inch ...

  4. android 屏幕适配的总结,适合面试

    http://blog.csdn.net/lmj623565791/article/details/45460089 http://blog.csdn.net/whuhan2013/article/d ...

  5. Android屏幕适配解决方案

    目录 Android屏幕适配解决方案.png 定义 使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果 相关重要概念 屏幕尺寸 含义:手机对角线的物理尺寸 单位:英寸(inch ...

  6. 目前Android最全面、最易懂的Android屏幕适配解决方案

    前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang ...

  7. android 默认dimens_Android开发——自动生成Android屏幕适配的dimens.xml文件

    使用dimens.xml解决屏幕适配问题是Android官方解决方案,本文主要讲述了如何自动生成Android屏幕适配的dimens.xml,减少了工作量,在维护dimens.xml文件时更加省时省力 ...

  8. android 屏幕分辨率 屏幕密度,Android屏幕适配——多分辨率多屏幕密度

    为什么要适配,适配的好处等等这里就不说了,直接说我们要怎么适配,请看下面的内容. 1.重要概念 px:pixel,像素Android原生API,UI设计计量单位,如获取屏幕宽高. 屏幕分辨率:指在纵向 ...

  9. [整理]Android屏幕适配(不同的屏幕分辨率和尺寸)

    Android屏幕适配 目录: Android屏幕适配 概念区分 换算关系 划分标准 Android手机常见尺寸和对应分辨率 部分Android测试机分析 补充9图的使用说明 在实际开发过程中,会遇到 ...

最新文章

  1. citespace与mysql_科学网—如何用CiteSpace整理数据 - 陈超美的博文
  2. 【转】linux之pmap命令!
  3. ios 绘制线框_iOS 绘制虚线框
  4. Spring4Shell的漏洞原理分析
  5. 【转】ABP源码分析十二:本地化
  6. ROS服务中自定义数据类型
  7. LeetCode-326. Power of Three
  8. 宏杉MacroSan存储开局指导-流程
  9. matlab中邮递员问题实例,中国邮递员问题的求解实例.doc
  10. 计算机专业对体重有要求吗,毕业季|@毕业生,你知道计算机学院有多重吗?
  11. 初识C语言之条件结构篇——带你认知编程世界的逻辑之美!
  12. 文本识别综述 <软件学报_王建新等、中国图象图形学报_刘崇宇等>
  13. 世界十大骨传导耳机排行榜、实测主流骨传导耳机推荐解析必看榜单
  14. python极坐标绘图_Python 画极坐标图
  15. 小酌重构系列[10]——分离职责
  16. 清北学堂2019.7.17
  17. 自己动手搭建NAS(一)|简介
  18. 使用OpenTSDB进行Grafana视图展现
  19. Python基础(二)完结
  20. 腾讯QQ2010 Beta2 快乐无极版(采用纯真版最新的数据库)中文绿色版+官方安装版

热门文章

  1. 多智能体系统协同一致性问题(一)
  2. 模式识别系列(一)感知器算法(PLA)
  3. LevelDb日知录之三 log文件
  4. html自动适配手机屏幕,手机web——自适应网页设计(html/css控制)
  5. Apex启动提示failed to creategamewindow分辨率问题
  6. MyBatis-Plus笔记
  7. Unity3d学习 第一天 使用Unity3d的物理引擎制作 小球打砖块 游戏
  8. Angular 服务的创建及使用
  9. 港联证券策略:A股市场仍有业绩估值共同向上的空间
  10. 2022秋季C语言专题实验03一维数组