博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android屏幕适配
阅读量:6966 次
发布时间:2019-06-27

本文共 3157 字,大约阅读时间需要 10 分钟。

Android屏幕适配

Android屏幕适配的文章已经很多很多了,想看“大道理”的可以去搜搜,这里只介绍怎么用。

工具类

生成适配所有Android手机屏幕分辨率的适配文件

import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintWriter;/** * Created by kongqw on 2015/11/21. */public class MakeXml {
// 生成地址 C盘layoutroot目录下 private final static String rootPath = "C:\\layoutroot\\values-{0}x{1}\\"; /** * 设置基准分辨率 * 一般标注按照多大的图标,这里我们就设置多大尺寸 */ private final static float dw = 720f; private final static float dh = 1280f; private final static String WTemplate = "
{1}px
\n"; private final static String HTemplate = "
{1}px
\n"; // 手机分辨率 public static void main(String [] args){ makeString(320, 480); makeString(480, 800); makeString(480, 854); makeString(540, 960); makeString(600, 1024); makeString(720, 1184); makeString(720, 1196); makeString(720, 1280); makeString(768, 1024); makeString(800, 1280); makeString(1080, 1812); makeString(1080, 1920); makeString(1440, 2560); } public static void makeString(int w, int h) { StringBuffer sb = new StringBuffer(); sb.append("
\n"); sb.append("
"); float cellw = w / dw; for (int i = 1; i < dw; i++) { sb.append(WTemplate.replace("{0}", i + "").replace("{1}", change(cellw * i) + "")); } sb.append(WTemplate.replace("{0}", "720").replace("{1}", w + "")); sb.append("
"); StringBuffer sb2 = new StringBuffer(); sb2.append("
\n"); sb2.append("
"); float cellh = h / dh; for (int i = 1; i < dh; i++) { sb2.append(HTemplate.replace("{0}", i + "").replace("{1}", change(cellh * i) + "")); } sb2.append(HTemplate.replace("{0}", "1280").replace("{1}", h + "")); sb2.append("
"); String path = rootPath.replace("{0}", h + "").replace("{1}", w + ""); File rootFile = new File(path); if (!rootFile.exists()) { rootFile.mkdirs(); } File layxFile = new File(path + "lay_x.xml"); File layyFile = new File(path + "lay_y.xml"); try { PrintWriter pw = new PrintWriter(new FileOutputStream(layxFile)); pw.print(sb.toString()); pw.close(); pw = new PrintWriter(new FileOutputStream(layyFile)); pw.print(sb2.toString()); pw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static float change(float a) { int temp = (int) (a * 100); return temp / 100f; }}

生成适配文件

上述工具类(MakeXml.java)放置在任意目录下,按住Shift+鼠标右键,点击在此处打开命令窗口

或者
Windows键 + R,输入cmd,打开命令行窗口以后,再进入到MakeXml.java所在目录

我是把MakeXml.java放在了桌面

P1

输入编译指令,会生成.class文件

javac MakeXml.java

P4

在编译过程中,可能会出现如下错误

P2

右键使用文本编辑器,另存为,改下编码就行了

P3

最后一步,输入指令,生成xml文件

java MakeXml

如下

P5

到此,xml已经生成了,到C盘下看一下

P6

适配文件的使用

使用比较简单,直接将这些文件拷贝到工程目录下就可以了

P7

使用

android:layout_width="@dimen/x24"android:layout_height="@dimen/y24"

在使用的时候,你可能会发现没有提示,找一个分辨率的适配文件,copy到默认的values目录下就可以了,一般标注按照什么尺寸的标注,就把那个尺寸的适配文件放过去就行了。

P8

你可能感兴趣的文章
Linux管理员入门讲解(与Win系统的区别)
查看>>
思科项目1实战(vlan、静态,单臂,浮动路由、vrrp/standby、nat、端口映射,远程等)...
查看>>
rsync远程同步
查看>>
六十八、shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
查看>>
【 Map】LinkedHashMap
查看>>
2018-5-29
查看>>
Confluence 6 管理协同编辑 - 审计的考虑
查看>>
redis的安装
查看>>
CPCI(ISTP)与国内核心期刊的区别
查看>>
spring jar包详解
查看>>
计算机网络基础
查看>>
就算你不是程序员,你也应该像程序员一样思考
查看>>
JDK源码分析(8)之 Reference 完全解读
查看>>
技术分享帖教你如何利用CSS写一个六边形?
查看>>
cronmon 定时任务执行状态监控
查看>>
Java程序员,2019,别戴着“耳机”工作了 好好的提升自己的综合能力
查看>>
2019蚂蚁最新面试题外泄:幻影读+分段锁+死锁+Spring Cloud+秒杀
查看>>
想成为职场老手就用这几款办公软件
查看>>
打印0~n之间的水仙花数。
查看>>
学平面设计需要什么基础呢?
查看>>