文档章节

android属性中的px,sp,dip有什么区别

OScoder2
 OScoder2
发布于 2014/05/08 13:41
字数 540
阅读 16
收藏 1

显示单位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 作为字号单位。
什么是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作为其他元素的单位。当然,也可以考虑使用矢量图形,而不是用位图。

© 著作权归作者所有

共有 人打赏支持
OScoder2
粉丝 3
博文 45
码字总数 41569
作品 0
海口
dp,px,pt,sp 的区别 以及dp 和 px 互转

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

Rella蕾拉
2015/04/17
0
0
Android中关于dip和px以及转换的总结

我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种: px(pixels)——像素:不同的设备显示效果相同,一...

mutouzhang
2014/03/11
0
0
Android度量单位说明(DIP,DP,PX,SP)

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

sflfqx
2014/12/10
0
0
Android获取屏幕分辨率及DisplayMetrics简介

Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。 手机的分辨率信息是手机的一项重要信息,很好的是,...

liuher
2014/07/22
0
0
Android 尺寸dp,sp

Android 密度逻辑: 在Android中,有dp,px,dip等几种单位,最常见的就是dip dip的设置于分辨率没有关系,但是与屏幕密度有关。在默认情况下,LDPI的密度为120,系数为0.75;MDPI的密度为1...

Drealin
2012/09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.4部署Zabbix4.0

环境搭建 在CenOS7.4里面部署Zabbix最好先搭建好环境,我这里使用的是PHP+MariaDB+httpd部署的。 部署PHP环境: yum install -y php php-php-fpm 修改 PHP 参数以安装 ZABBIX 的安装需求: ...

寰宇01
21分钟前
2
0
工厂模式

(从别人里copy的,方便自己查看) 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使...

南桥北木
47分钟前
1
0
rabbitmq学习(一)

RabbitMQ是目前非常热门的一款消息中间件,具有高可靠、易拓展、高可用及丰富的功能 1.什么是消息中间件 消息是指在应用间传送的数据。包含文本字符串、JSON、内嵌对象 消息队列中间件(消息...

hensemlee
51分钟前
2
0
学习设计模式——原型模式

1. 认识原型模式 1. 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 2. 结构: Prototype:声明一个克隆自身的接口,用来约束想要克隆自己的具体实现类,要求这些类...

江左煤郎
57分钟前
1
0
观察者模式

观察者模式的套路 有如下角色: 事件,比如修改,用户点击; 事件队列,触发事件之后,会把事件一个一个放入事件队列 监听器,采用某种方式(一般是轮询,或者io阻塞机制),来判断事件队列是否有新的未...

黄威
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部