`
consuela.zhao
  • 浏览: 23783 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

dip, dp, px, sp区别与换算

阅读更多

显示单位px和dip以及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 做单位,而且查看 
TextView 
的源码可知 Android 默认使用 sp 作为字号单位。 

################################################################### 

关于换算(以 sp 和 pt 为例) 
查看 TextView 等类的源码,可知: 

case COMPLEX_UNIT_PX: 
      return value; 
case COMPLEX_UNIT_SP: 
      return value * metrics.scaledDensity; 
case COMPLEX_UNIT_PT: 
      return value * metrics.xdpi * (1.0f/72); 

-------------------------- 
scaledDensity = DENSITY_DEVICE / (float) DENSITY_DEFAULT; 
xdpi = DENSITY_DEVICE; 

-------------------------- 
DENSITY_DEFAULT = DENSITY_MEDIUM = 160; 

============================================ 
所以: 假设 pt 和 sp 取相同的值 1,则可设 1pt 和 1sp 之间系数为 x, 

1 * DENSITY_DEVICE / 72 = x * 1 * DENSITY_DEVICE / 160  => 
x = 160 / 72 = 2.2222 

也就是说在 Android 中,  1pt 大概等于 2.22sp 

以上供参考,如果 UI 能够以 sp 为单位提供设计是最好的,如果设计中没有 sp 
的概念,则开发人员也可以通过适当的换算取近似值。 



转载内容: http://hi.baidu.com/lfcaolibin/blog/item/f3f60d1e438deefee0fe0bae.html 
什么是Dip和Sp 

过去,程序员通常以像素为单位设计计算机用户界面。例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16×16像素 等。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清 内容。 

与分辨率无关的度量单位可以解决这一问题。Android支持下列所有单位。 

px(像素):屏幕上的点。 

in(英寸):长度单位。 

mm(毫米):长度单位。 

pt(磅):1/72英寸。 

dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 

dip:与dp相同,多用于android/ophone示例中。 

sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。 

为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,将dip作为其他元素的单位。当然,也可以考虑使用矢量图形,而不是用位图

 

来源:

 

http://sifutian.iteye.com/blog/680935

 

分享到:
评论

相关推荐

    dip, dp, px, sp区别 android

    "Android 中的 dip, dp, px, sp 单位区别" Android 中的单位系统是一个复杂的问题,对于开发人员来说,选择正确的单位是非常重要的。在 Android 中,我们常见的单位有 dip, dp, px, sp 等,这些单位都有其特点和...

    引用 Android上dip、dp、px、sp等单位说明

    ### 引用 Android上dip、dp、px、sp等单位说明 在Android开发中,为了确保应用在不同分辨率和屏幕尺寸上的显示效果一致,开发者需要掌握几种关键的尺寸单位,包括dip(或dp)、px、sp以及它们之间的转换关系。 ###...

    Android中dip、dp、sp、pt和px的区别

    本文将详细解析Android中常见的五种尺寸单位:dip(设备独立像素)、dp(密度无关像素)、sp(可缩放像素)、pt(点)和px(像素),并探讨它们之间的关系和应用场景。 首先,我们来了解一下px(像素)。像素是屏幕...

    Adnroid 中dip、dp、px、sp等单位说明

    让我们深入探讨一下Android中的dip、dp、px、sp等单位。 1. dip (device independent pixels) - 设备独立像素: 这是一种基于设备的物理特性(如屏幕密度)的抽象单位,旨在确保UI元素在不同分辨率的屏幕上看起来...

    dip/px互转

    总的来说,理解和掌握dip与px的转换对于Android开发者至关重要,它能够帮助我们创建适应各种屏幕尺寸和分辨率的应用,提供更好的用户体验。`dip2px_tool`这样的辅助工具则能进一步简化开发过程,提高开发效率。

    Androd px转dip和sp

    `px`(像素)是设备独立像素,而`dip`(设备独立像素,也称为dp)和`sp`(可缩放像素,主要用于字体大小)是Android系统为了适应不同分辨率屏幕而引入的概念。这些单位有助于创建适应多种屏幕尺寸的应用。 `px`...

    android开发之dip,dp与px像素之间的转换工具,

    在Android开发中,理解和使用dip(设备独立像素)、dp(密度无关像素)以及px(像素)是非常重要的,因为它们关系到应用在不同分辨率屏幕上的显示效果。本篇将详细介绍这三个概念及其相互转换。 首先,像素(px)是...

    比较android px sp dip单位

    sp与dp类似,也是基于密度的,但有一个额外的特点:它可以随着用户的字体大小设置进行缩放。这意味着,当用户选择放大字体时,使用sp单位的文本会自动增大,而不会影响到布局的其他部分。 在编程实践中,通常建议...

    android布局单位sp,dp,pt,px的区别

    在Android开发中,为了确保应用在不同屏幕尺寸和密度下的适应性和一致性,使用了多种布局单位,其中最为常见的包括sp、dp(或dip)、pt和px。这些单位各有其特性和应用场景,理解它们之间的差异对于创建响应式和用户...

    Android中显示单位px和dip以及sp的区别.doc

    Android 中显示单位 px 和 dip 以及 sp 的区别 Android 中显示单位 px、dip、sp 等的区别是 Android 开发中一个非常重要的概念。了解这些单位的区别可以帮助开发者更好地设计和开发 Android 应用程序。 首先,px ...

    dimens资源文件实现px值与dp值、sp值之间的转化

    3. **可缩放像素(sp)**:sp与dp类似,也是密度独立的,但还考虑了用户设置的文字大小。1sp在mdpi设备上也等于1px,但它会随着用户字体大小的调整而变化,适用于文本的尺寸定义。 在`dimens.xml`文件中,开发者...

    Android的计量单位px,in,mm,pt,dp,dip,sp

    7. sp(可缩放像素/scaled pixel):sp与dp类似,也是用于创建密度无关的UI元素,但它还有一个额外的功能,即会根据用户设置的字体大小偏好进行缩放。因此,sp最适合用于定义文字大小,这样用户可以根据个人需求调整...

    px、dip、sp区别和使用方法

    px、dip、sp区别和使用方法;搜索了那么多,就这个看得明白。

    Android像素转换dp转px或相反

    在Android开发中,像素(px)和密度独立像素(dp/dip)是两个重要的尺寸单位。理解它们之间的转换关系对于创建适配不同设备屏幕的UI至关重要。本文将深入探讨Android像素转换,包括dp转px以及px转dp的方法,并提供...

    UI——dp、dip、px、dpi、density概念及关系

    UI——dp、dip、px、dpi、density概念及关系 UI 开发中,常见的衡量单位有 dp、dip、px、dpi 和 density,这些单位之间存在一定的关系和转换公式,对于 Android 开发者来说,理解这些概念和关系非常重要。 dp...

    Android中dip、dp、sp、pt和px的区别详解

    本文主要解析Android中的五个关键单位:dip、dp、sp、pt和px,以及它们之间的区别。 1. **dip(设备独立像素)**: 设备独立像素是一种与设备硬件无关的单位,它的大小会根据设备的物理密度进行调整,确保在不同...

    解析android中的dip,dp,px,sp和屏幕密度

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

    android dp和px之间转换

    #### DP与PX的基本概念 1. **DP (Density-independent Pixel)**:DP是一种与屏幕密度无关的单位,它被设计用来让开发者能够编写布局文件时,无需考虑实际屏幕的物理尺寸或密度。1 DP通常代表在中等密度屏幕上的1...

    px、dp、dip等之间的区别

    你还在为开发Android的像素而烦恼吗?赶快下载行动起来吧!里面说的非常详细!!

Global site tag (gtag.js) - Google Analytics