getDimension,getDimensionPixelOffset和getDimensionPixelSize
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.
getDimensionPixelSize则不管写的是dp还是sp还是px,都会乘以denstiy.
getDimension,getDimensionPixelOffset和getDimensionPixelSize的更多相关文章
- android 通过getDimension,getDimensionPixelOffset和getDimensionPixelSize获取dimens.xml文件里面的变量值
dimens.xml里写上三个变量: <dimen name="activity_vertical_margin1">16dp</dimen> <di ...
- android: getDimension, getDimensionPixelOffset 和getDimensionPixelSize 区别
◆结论: getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float getDimensionPixelOffset 获取 ...
- Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float getDimensionPixelOffset 获取某个dim ...
- getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
getDimension和getDimensionPixelOffset的功能类似, 都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density 如果是px,则不乘.并且get ...
- Android getDimension,getDimensionPixelOffset,getDimensionPixelSize
1.例如在onMeasure(int , int)方法中可能要获取自定义属性的值.如: TypedArray a = context.obtainStyledAttributes(attrs, R.s ...
- 【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数 getDimension() getDimensionPixelOffset() getDimen ...
- getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别
getDimension() 返回float型px值 精确 getDimensionPixelOffset() 返回int型px值 ...
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸.文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int. getD ...
- [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配
http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI ...
随机推荐
- js常用模板引擎
baiduTemplate(百度).artTemplate(腾讯).juicer(淘宝).xtemplate.doT.Jade 1.Handlebars 是 JavaScript 一个语义模板库,通过 ...
- php中类的static变量使用
<?php #访问静态变量 #类外部: 类名::$类变量名 #类内部: 娄名::$类变量名或self::$类变量名 class Char{ public static $number = 0; ...
- Perl6 Bailador框架(7):模版编写
先看一个例子: use v6; use Bailador; my $data = ' <form action="", method="get"> ...
- 某p2p存在通用上传漏洞
google链接查找: inurl:shouyi.asp inurl:itemlist_xq.asp?id= 很多存在Fckeditor上传链接: FCKeditor/editor/filemanag ...
- Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】
转自:http://blog.csdn.net/droidphone/article/details/8112948 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 数据结 ...
- Bookmarks www
Bookmarks alexis- (Alex Incogito) - Repositories · GitHub GitHub - aetcnc-Arduino_DeltaHMI_RS485 Ope ...
- webapi-1 给现有MVC 项目添加 WebAPI
1. 增加一个WebApi Controller, VS 会自动添加相关的引用,主要有System.Web.Http,System.Web.Http.WebHost,System.Net.Http 2 ...
- pypcap 安装
1.下载winpcap开发包 https://www.winpcap.org/devel.htm 下载https://github.com/pynetwork/pypcap/releases最新发布的 ...
- JDBC数据源连接池(3)---Tomcat集成DBCP
此文续<JDBC数据源连接池(2)---C3P0>. Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池.在使用中,只要进行相应配置即可. 首先,确保Web ...
- Laravel artisan commands
使用php artisan list 可以看到artisan的所有命令以及选项. 当然你也可以在此基础上扩展自己的命令. 1. key 1.1 key:generate 这是一个加密秘钥,用于保证安全 ...