美文网首页
屏幕适配工具类 dimens

屏幕适配工具类 dimens

作者: 爱吃猫的咸鱼 | 来源:发表于2016-10-26 15:34 被阅读0次

下方是个工具类的所有内容,粘贴进来比较淫乱 不过没关系 我们的工具都是可以格式化的  直接复制拿走

package com.m520it.dimenstest;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

public class DimenTool {   

 public static void gen() {        

//以此文件夹下的dimens.xml文件内容为初始值参照        

File file = new File("./app/src/main/res/values/dimens.xml");        

BufferedReader reader = null;        

StringBuilder sw240 = new StringBuilder();        StringBuilder sw480 = new StringBuilder();        StringBuilder sw600 = new StringBuilder();        StringBuilder sw720 = new StringBuilder();        StringBuilder sw800 = new StringBuilder();        StringBuilder w820 = new StringBuilder();        

try {            

System.out.println("生成不同分辨率:");            

reader = new BufferedReader(new FileReader(file));            

String tempString;            int line = 1;            // 一次读入一行,直到读入null为文件结束            while ((tempString = reader.readLine()) != null) {                if (tempString.contains("")) {                    //tempString = tempString.replaceAll(" ", "");                    String start = tempString.substring(0, tempString.indexOf(">") + 1);                    String end = tempString.substring(tempString.lastIndexOf("<") - 2);                    //截取标签内的内容,从>右括号开始,到左括号减2,取得配置的数字                    Double num = Double.parseDouble                            (tempString.substring(tempString.indexOf(">") + 1,                                    tempString.indexOf("") - 2));                    //根据不同的尺寸,计算新的值,拼接新的字符串,并且结尾处换行。                    sw240.append(start).append( num * 0.75).append(end).append("\r\n");                    sw480.append(start).append(num * 1.5).append(end).append("\r\n");                    sw600.append(start).append(num * 1.87).append(end).append("\r\n");                    sw720.append(start).append(num * 2.25).append(end).append("\r\n");                    sw800.append(start).append(num * 2.5).append(end).append("\r\n");                    w820.append(start).append(num * 2.56).append(end).append("\r\n");                } else {                    sw240.append(tempString).append("");                    sw480.append(tempString).append("");                    sw600.append(tempString).append("");                    sw720.append(tempString).append("");                    sw800.append(tempString).append("");                    w820.append(tempString).append("");                }                line++;            }            reader.close();            System.out.println("");            System.out.println(sw240);            System.out.println("");            System.out.println(sw480);            System.out.println("");            System.out.println(sw600);            System.out.println("");            System.out.println(sw720);            System.out.println("");            System.out.println(sw800);            String sw240file = "./app/src/main/res/values-sw240dp-land/dimens.xml";            String sw480file = "./app/src/main/res/values-sw480dp-land/dimens.xml";            String sw600file = "./app/src/main/res/values-sw600dp-land/dimens.xml";            String sw720file = "./app/src/main/res/values-sw720dp-land/dimens.xml";            String sw800file = "./app/src/main/res/values-sw800dp-land/dimens.xml";            String w820file = "./app/src/main/res/values-w820dp/dimens.xml";            //将新的内容,写入到指定的文件中去            writeFile(sw240file, sw240.toString());            writeFile(sw480file, sw480.toString());            writeFile(sw600file, sw600.toString());            writeFile(sw720file, sw720.toString());            writeFile(sw800file, sw800.toString());            writeFile(w820file, w820.toString());        } catch (IOException e) {            e.printStackTrace();        } finally {            if (reader != null) {                try {                    reader.close();                } catch (IOException e1) {                    e1.printStackTrace();                }            }        }    }    /**    * 写入方法    *    */    public static void writeFile(String file, String text) {        PrintWriter out = null;        try {            File temp = new File(file);            if(!temp.exists()){                new File(file.substring(0,file.lastIndexOf("/"))).mkdirs();//创建目录                new File(file).createNewFile();//创建文件            }            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();    }

}

相关文章

  • 屏幕适配工具类 dimens

    下方是个工具类的所有内容,粘贴进来比较淫乱 不过没关系 我们的工具都是可以格式化的 直接复制拿走 package ...

  • 安卓:日常开发屏幕适配总结

    Android 屏幕适配方案Android多分辨率适配框架Android 屏幕适配之dimens(上线项目中实际应...

  • 屏幕适配工具类

    状态栏,dp和px转换 界面设置

  • dimens density 屏幕适配文件

    在编写xml的时候,直接固定一个控件的宽高,给一个固定的dp值,在不同的屏幕上显示差别很大,导致有的手机布局无法正...

  • Flutter 常用工具类库 flustars

    萌新必备工具类库一 Flutter 常用工具类库 flustars① 网络DioUtil② 屏幕适配ScreenU...

  • Android屏幕适配(三)

    前言 屏幕适配的一种方法,生成多个XML文件,来实现屏幕适配的方法。 提供一个工具类如下:

  • Android屏幕适配工具类

    我们做屏幕适配的时候,经常需要获取屏幕的宽度,高度,单位转换这几个方法,代码如下:

  • Android 屏幕适配之AutoUtils

    一、概述 Android做屏幕适配有多种方式,比如多套切图、多套dimens参数、百分比布局、动态获取屏幕高宽...

  • Android 最新dimens适配方案

    前言 首先说明,我仍然采用的是dimens适配。但是dimens适配很早就出现了,我为什么又要说是最新的呢?我的意...

  • Android App 开发必备

    应用架构 ✈ 工具类【常用如下,其他见详情】 ✈Activity管理 ✈屏幕适配 ✈状态栏 导航栏 ✈貌似是Bil...

网友评论

      本文标题:屏幕适配工具类 dimens

      本文链接:https://www.haomeiwen.com/subject/cmnduttx.html