Android中dimens适配
 Android中的适配,方式很多,网上资料很多。我个人的常用方法是按照dimens来适配的。根据比例来的,方法如下:
  • 创建一个Java工程,写一个处理xml文件的类【算出比例,填写比例】
  • 将要适配的dimens.xml放到src目录下
  • 添加dom4j的jar包
  • 运行程序,在consol输出的处理后的xml文件。

处理xml的Java代码如下:

public class ChangeDimensValue {
    public static void main(String[] args) throws Exception {
        ReadAndChange();
    }

    private static void ReadAndChange() throws Exception {
        String path = ChangeDimensValue.class.getResource("/dimens.xml").getPath();
        SAXReader reader = new SAXReader();
        // 读取xml文件内容,在内存中生成dom树
        // Document对象doc是树根
        Document doc = reader.read(path);
        Element email = doc.getRootElement();// 获得根元素
        // 测试迭代器遍历下层元素
        iterator(email);
    }

    private static void iterator(Element email) {
        StringBuffer sb = new StringBuffer();
        // e.elementIterator()获得下层元素迭代器
        Iterator<Element> it1 = email.elementIterator();
        sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        sb.append("<resources>");
        while (it1.hasNext()) {
            Element e = it1.next();
            sb.append("<" + e.getName());
            Iterator<Attribute> itt = e.attributeIterator();
            Attribute att = itt.next();
            sb.append(" " + att.getName() + "=" +"\""+att.getValue()+"\"");
            sb.append(">");
            // 此处的倍数为缩放倍数,这里是720*1280变换为480*800
            sb.append(toMULNumber(e.getText(), new BigDecimal("0.72")));
            sb.append("</" + e.getName() + ">");
        }
        sb.append("</resources>");
        System.out.println(sb.toString());
    }

    private static String toMULNumber(String num, BigDecimal d) {
        System.out.println("num:"+num);
        BigDecimal bigDecimal = new BigDecimal(num.substring(0,
                num.length() - 2));
        bigDecimal = bigDecimal.multiply(d);
        int number = bigDecimal.intValue();
        return number + num.substring(num.length() - 2, num.length());
    }
}

工程截图如下:
这里写图片描述

阅读更多
版权声明:技术等于兴趣 https://blog.csdn.net/ItJavawfc/article/details/53180902
文章标签: android 适配
个人分类: Android学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android中dimens适配

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭