Android 中单位讲解
来源:互联网 发布:知乎 垂暮之战 编辑:程序博客网 时间:2024/04/29 21:50
1. dip(dp): device independent pixels(设备独立像素). dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一 样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度 设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动 将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个dp作为长度单位。
dip的换算:dip(value)=(int) (px(value)/1.5 + 0.5)
2. px: pixels(像素),表示屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。
3. sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
4. in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。
5. mm:表示毫米,是屏幕的物理尺寸。
6. pt:表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。
以下提供两个方法,用于dip与px之间相互转换:
public static int dip2px(Context context, float dipValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dipValue * scale + 0.5f);}public static int px2dip(Context context, float pxValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (pxValue / scale + 0.5f);}
参考:
http://blog.csdn.net/nokiaguy/article/details/5509638
http://www.cnblogs.com/fbsk/archive/2011/10/17/2215539.html
- Android 中单位讲解
- Android中长度单位
- Android中尺寸单位
- Android中尺寸单位杂谈
- Android中尺寸单位杂谈
- Android中尺寸单位杂谈
- Android中尺寸单位杂谈
- 2、Android中显示单位
- 关于Android中长度单位
- Android中尺寸单位杂谈
- android中单位与分辨率
- Android中长度单位详解
- Android中 像素单位详解
- Android中单位值得使用
- Android 中常用的单位
- Android中常用布局单位
- Android中尺寸单位介绍
- android中Manifest讲解
- 如何建立秘密的文件夹
- 如何快速的创建maven web项目
- Java IO
- 用户行为识别-SVM特征选择
- MYSQL 关羽插入的一些知识
- Android 中单位讲解
- 适配器(Adapter)模式
- SSH(Spring3.0 + Struts2.1 + Hibernate3.3)整合示例
- 装饰器(Decorator)模式
- explicit
- 程序员的八个级别
- hdu 3333 Turing Tree(线段树+离散化)
- 胆小的姐姐
- Bloom Filter 原理 及C++ 实现