dp是Density-independent Pixels简写,而dip则是Density Independent Pixels,实际上指的是一个概念,都是Android的单位

http://hi.baidu.com/wzc520168/item/bacd8fff8131f37c3d198b22

Android中dip, dp, px, sp之间的区别:

dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize,根据 google 的建议,TextView 的字号最好使用 sp 做单位,




http://www.cnblogs.com/fbsk/archive/2011/10/17/2215539.html

1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。
这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。
dip的换算:
dip(value)=(int) (px(value)/1.5 + 0.5)
2. dp: 很简单,和dip是一样的。
3. px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。
4. sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

备注: 根据google的推荐,像素统一使用dip,字体统一使用sp 举个例子区别px和dip: px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。 而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。
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);
}

更多相关文章

  1. Android开发环境搭建之Android(安卓)adb
  2. Android(安卓)webview加载富文本 屏幕简单适配
  3. Ubuntu 14.04 配置 Android(安卓)sdk 开发环境
  4. android -------- 获取手机设备信息
  5. Android中的系统广播集合
  6. 20.Android读唯一的设备号IMEI
  7. android之全屏沉浸模式(强制屏幕为全面屏)
  8. Android(安卓)8.0 Navigationbar
  9. 修改块 - 单元测试

随机推荐

  1. 一文带你领略JS中原型链的精妙设计!
  2. 快递批量查询教程,详细介绍如何批量查询很
  3. 软件测试行业前景发展怎么样?从事软测到底
  4. Python技术分享:深入理解ThreadLocal变量
  5. 苹果 iOS 14.5 如何自动下载新的播客剧集
  6. Unity小游戏之闯关小游戏
  7. 10行C++代码实现高性能HTTP服务
  8. vim编辑器的使用
  9. Linux目录结构详解(最全最详细版)
  10. Linux 实用的命令小技巧