android 通过getDimension,getDimensionPixelOffset和getDimensionPixelSize获取dimens.xml文件里面的变量值
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文件里面的变量值的更多相关文章
- Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float getDimensionPixelOffset 获取某个dim ...
- Android之获取string.xml文件里面的方法
获取string.xml文件里面的方法 在此做个笔记: 1.在AndroidManifest.xml与layout等xml文件里: android:text="@string/resourc ...
- Android开发——自动生成Android屏幕适配的dimens.xml文件
使用dimens.xml解决屏幕适配问题是Android官方解决方案,本文主要讲述了如何自动生成Android屏幕适配的dimens.xml,减少了工作量,在维护dimens.xml文件时更加省时省力 ...
- Android(java)学习笔记185:xml文件生成
1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...
- Android(java)学习笔记128:xml文件生成
1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...
- android: getDimension, getDimensionPixelOffset 和getDimensionPixelSize 区别
◆结论: getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float getDimensionPixelOffset 获取 ...
- getDimension,getDimensionPixelOffset和getDimensionPixelSize
dimens.xml里写上三个变量: <dimen name="activity_vertical_margin1">16dp</dimen> <di ...
- Android中通过代码获取arrays.xml文件中的数据
android工程res/valuse文件夹下的arrays.xml文件中用于放各种数组数据,比如字符串数组.整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过 ...
- android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化
Android内置了PULL解析器的XPP3实现,以及SAX解析器等,可以直接使用PULL或SAX解析XML,直接把JAVA中进行PULL或SAX解析的代码直接拿来用,遗忘的话,可以参考java拾遗1 ...
随机推荐
- 卸载CentOS7-x64自带的OpenJDK并安装Sun的JDK7的方法
第一步:查看并卸载CentOS自带的OpenJDK 安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java version "1.6.0& ...
- 使用JPA中@Query 注解实现update 操作
spring使用jpa进行update操作主要有两种方式: 1.调用保存实体的方法 1)保存一个实体:repository.save(T entity) 2)保存多个实体:repository.sav ...
- THUSC2016 游记
浑浑噩噩地就出发了,只记得可以翘课,不知道自己要干什么去. Day 0 5点起床,到潮汕机场坐飞机.第一次坐飞机非常不爽起飞和降落时的加速度……终于还是转转地铁.动车在下午4点左右抵达目的地,西 ...
- CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】
[编程题] 黑白树 时间限制:1秒 空间限制:32768K 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色 ...
- CodeForces798-B. Mike and strings-string中的find()函数
好久好久好久之前的一个题,今天翻cf,发现这个题没过,补一下. B. Mike and strings time limit per test 2 seconds memory limit per t ...
- Codeforces Round #280 (Div. 2)_C. Vanya and Exams
C. Vanya and Exams time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- linux基本命令学习01
=============================================================================Unix/Linux最主要的应用领域是基础服务 ...
- flume1.8 开发指南学习感悟
概述: Apache Flume是一个分布式.可用的系统,用于从许多不同的sources有效的收集并移动大量日志数据用于集中存储数据. 架构及数据流动模型: flume实际上就是一个Agent.Age ...
- Lua语言的介绍和编程语言的归类
Lua 本条目介绍的是一种编程语言.关于关于Lua在维基百科中的使用,请见"维基百科:Lua".关于"Lua"一词的其他意思,请见"卢阿". ...
- 从零开始学习前端开发 — 11、CSS3选择器
一.基本选择器 1.* 通配符(通用选择器) 2.id选择器 3.class选择器(类选择器) 4.标签选择器(元素选择符) 5.群组选择器 (选择符1,选择符2{...}) 二.层次选择器(关系选择 ...