dimens.xml里写上三个变量:

  <dimen name="activity_vertical_margin1">16dp</dimen>

  <dimen name="activity_vertical_margin2">16px</dimen>

  <dimen name="activity_vertical_margin3">16sp</dimen>

读取这三个变量:

float a1=getResources().getDimension(R.dimen.activity_vertical_margin1);

int a2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin1);

int a3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin1);

float b1=getResources().getDimension(R.dimen.activity_vertical_margin2);

int b2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin2);                   int b3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);

float c1=getResources().getDimension(R.dimen.activity_vertical_margin3);

int c2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin3);

int c3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);

Log.i("test", "getDimension= "+a1+", getDimensionPixelOffset="+a2+",getDimensionPixelSize="+a3);

Log.i("test", "getDimension= "+b1+", getDimensionPixelOffset="+b2+",getDimensionPixelSize="+b3);

Log.i("test", "getDimension= "+c1+", getDimensionPixelOffset="+c2+",getDimensionPixelSize="+c3);

对于设备1(1280*720,160dpi,density=1.0):

09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16

对于设备2(480*800,240dpi,density=1.5):

09-29 19:35:07.376: I/test(5902): getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24  09-29 19:35:07.376: I/test(5902): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=24  09-29 19:35:07.376: I/test(5902): getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24

可见getDimension和getDimensionPixelOffset的功能差不多,都是获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘;两个函数的区别是一个返回float,一个返回int.

android 通过getDimension,getDimensionPixelOffset和getDimensionPixelSize获取dimens.xml文件里面的变量值的更多相关文章

  1. Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别

    getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘   返回float getDimensionPixelOffset 获取某个dim ...

  2. Android之获取string.xml文件里面的方法

    获取string.xml文件里面的方法 在此做个笔记: 1.在AndroidManifest.xml与layout等xml文件里: android:text="@string/resourc ...

  3. Android开发——自动生成Android屏幕适配的dimens.xml文件

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

  4. Android(java)学习笔记185:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...

  5. Android(java)学习笔记128:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...

  6. android: getDimension, getDimensionPixelOffset 和getDimensionPixelSize 区别

    ◆结论: getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘   返回float getDimensionPixelOffset 获取 ...

  7. getDimension,getDimensionPixelOffset和getDimensionPixelSize

    dimens.xml里写上三个变量: <dimen name="activity_vertical_margin1">16dp</dimen> <di ...

  8. Android中通过代码获取arrays.xml文件中的数据

    android工程res/valuse文件夹下的arrays.xml文件中用于放各种数组数据,比如字符串数组.整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过 ...

  9. android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化

    Android内置了PULL解析器的XPP3实现,以及SAX解析器等,可以直接使用PULL或SAX解析XML,直接把JAVA中进行PULL或SAX解析的代码直接拿来用,遗忘的话,可以参考java拾遗1 ...

随机推荐

  1. (转)Linux下运行python

    原文: http://blog.csdn.net/jackywgw/article/details/48847187 在linux命令行下运行python,可以直接输出hello world jack ...

  2. Node Express 初探

    一如既往,先上一张图 Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. 关于Express更多相关知识请链接至官网http://www.expressjs.com.c ...

  3. 安装cocoapods遇到的问题

    1.终端报下面的错误 ERROR:  While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod 解决方 ...

  4. C#学习笔记-组合模式

    什么是组合模式? 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 何时使用组合模式? 当需求中是体现部分与 ...

  5. ISE14.7兼容性问题集锦

    六.WARNING:iMPACT:923 - Can not find cable, check cable setup ! 这个错误是由于驱动没有安装或者驱动安装有问题,一般ISE会在安装的时候把驱 ...

  6. OI回忆录——一个过气OIer的智障历程

    初中 初一参加学校信息学选修课,一周一节课,学pascal. 初一寒假(大约是)入选(其实是钦定吧)当时加上我只有3人的校队(我当然是最弱的一个. 当时甚至有幸得到叉姐授课(现在才知道这是多么难得的机 ...

  7. 【Java学习笔记之三】java中的变量和常量

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...

  8. X-Windows桌面

    提到X-Windows桌面,人们最先想到的一般都是KDE和GNOME.目前大多数的Linux发行版上的桌面环境都采用了这两个东西.确实,KDE和GNOME做得很好,界面美观.使用方便,而且现在Bug越 ...

  9. PHP headers_sent() 函数

    PHP HTTP 函数 定义和用法 headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送. 如果报头已发送,则返回 true,否则返回 false. 语法 headers ...

  10. SDK是什么?什么是SDK

    从 SDK导航 看到的 应该比较专业! SDK的英文全名是:software development kit,翻译成中文的意思就是"软件开发工具包" 通俗一点的理解,是指由第三方服 ...