Android中的长度单位详解(dp、sp、px、in、pt、mm)

看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。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,系统会根据屏幕密度的变化自动进行转换。

下面看一下其他单位的含义

px:表示屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。

in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。

mm:表示毫米,是屏幕的物理尺寸。

pt:表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。

原帖地址http://www.ophonesdn.com/forum/thread-1946-2-1.html

px(Pixels ,像素):对应屏幕上的实际像素点。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。

in(Inches ,英寸):屏幕物理长度单位。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。

mm(Millimeters ,毫米):屏幕物理长度单位。

pt(Points ,磅):屏幕物理长度单位, 表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。

dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。 
dip:与dp相同,多用于Google示例中。 
sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。

尽量使用dp作为空间大小单位,sp作为和文字相关大小单位

Android中的长度单位详解(dp、sp、px、in、pt、mm)相关推荐

  1. android中的长度单位介绍(dp,sp,px,in,pt,mm)

    作为小白学习了一段时间的android,在学习过程中却一直有个疑问,在设置控件大小时面对这几个单位却不知如何选择,查找相关资料后了解了其含义,今天来分享下 dp或dip(device independ ...

  2. Android中的长度单位详解

    http://blog.csdn.net/zuolongsnail/article/details/6397768 in(英寸)长度单位(基本用不到) mm(毫米)长度单位(基本用不到) pt(poi ...

  3. Android中,长度单位详解(dp、sp、px、in、pt、mm)具体解释与换算(1)

    在写代码或者开发过程中有很多人不太理解 dp.sp 和 px 的区别:现在这里介绍一下 dp 和sp.dp 也就是 dip.这个和 sp 基本类似.如果设置表示长度.高度等属 性时可以使用 dp 或 ...

  4. android调webview的方法,Android中的WebView详解

    Android中的WebView详解 WebView详解 基本用法 布局文件配置WebView android:id="@+id/wv_news_detail" android:l ...

  5. Android 中malloc_debug 原理详解

    版本基于:Android R 关联博文: Android 中malloc_debug 使用详解 0. 前言 最近上项目中遇到一个native 可能内存泄漏的问题,曾考虑使用HWASAN,但这个工具是针 ...

  6. Android中mesure过程详解 (结合Android 4.0.4 最新源码)

    如何遍历并绘制View树?之前的文章Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)中提到invalidate()最后会发起一个View树遍历的请求,并通 ...

  7. Android中layout过程详解 (结合Android 4.0.4 最新源码)

    上一篇文章Android中mesure过程详解 (结合Android 4.0.4 最新源码)介绍了View树的measure过程,相对与measure过程,本文介绍的layout过程要简单多了,正如l ...

  8. android中的尺寸单位是什么,Android中各种长度尺寸单位(dp,dip,px,sp,pt)的区别

    dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和 QVGA 推荐使用这个,不依赖像素 ...

  9. Android中shape属性详解

    一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.x ...

  10. 【Android】 Android中Log调试详解

    LOG类: public final class Log extends Object java.lang.Object   android.util.Log Constants int ASSERT ...

最新文章

  1. 记录一下Python-Qt中按钮点击事件无响应解决方案
  2. Python剑指offer:分行从上到下打印二叉树
  3. 深入研究 Java Synchronize 和 Lock 的区别与用法
  4. osgQt::GLWidget的坑
  5. 为什么用 windbg 看 !address 显示出的Free是128T 大小?
  6. 对session的理解
  7. linux 服务器(CentOS7)搭建PHP环境+SSH配置+服务器文件上传配置
  8. vs2010 代码混淆 代码加密
  9. libtool: line 990: g++: command not found的解决
  10. php require vs. include
  11. fastreport masterdata每页都显示_ALIENTEK 阿波罗 STM32F767 开发板资料连载十六章 OLED 显示实验...
  12. Exchange Server 2013文档系列之四: Exchange Server 2013在Windows 2008 R2下部署
  13. JFlash 对Flash内容读取
  14. 计算二叉树叶子结点数目
  15. java 微信公众平台 开源_Java微信公众号开发之开源框架推荐
  16. 几种高效电路分析方法
  17. 班长投票小程序的java代码
  18. 【BZOJ1061】【NOI2008】志愿者招募 费用流神题、单纯形裸题(代码费用流)
  19. 使用海龟绘图,输出四个不同颜色矩形
  20. 吉林公主岭玉米丰收将成定局

热门文章

  1. 工欲善其事必先利其器-SpringBoot源码研究之源码编译
  2. 游戏编程之六 游戏编程的特点
  3. 发微博利器 FaWave(发微)---- chrome扩展程序
  4. 宽带按流量计费?欢迎讨论!
  5. QIUI囚爱男用APP远程贞操锁2.0 破解不完全指南(附破解工具)
  6. 6.1.3. Mentor: Design Not Just for Usability, but Learnability
  7. xp计算机无线开关机,xp定时关机与重启妙法 -电脑资料
  8. Akka and Actors
  9. html中背景渐变斜着渐变,CSS3 斜向渐变背景
  10. 如何设置正确的dns服务器地址,dns服务器地址如何设置