Android UI中像素相关的名词解释

本文介绍了Android UI设计中像素相关的一些概念,并着重讲解的dp的原理和作用。

1. 概念


       在Android UI设计总离不开长度,例如一个button的长宽各是多少,两个控件之间的间距是多少。UI是显示在屏幕中的,屏幕有自己的硬件参数,如屏幕的大小,像素数等。在开发过程中,我们常用到这些名词:dp,px,ppi,dpi,density,sp,下面对着名字一一介绍。

dp :也叫dip,英文全称是device independent pixels,表示设备无关像素,或者逻辑像素;
px :像素
ppi :英文全称是pixels per inch,每英寸的像素数量,例如一个屏幕尺寸为3英寸x2英寸,像素为480x320,那么ppi为160px/inc(480/3或者320/2结果均为160px/inc)
dpi :英文全称是dots per inch,最初用于衡量打印物上每英寸的点数,当用在屏幕上时,就等同于ppi
density :像素密度,其实这个中文翻译词不达意,density是一个比值,density的计算方法是当前屏幕的ppi除以160,其中160是上面提到过的尺寸为3英寸x2英寸,像素为480x320的屏幕的ppi。density用来进行dp和px之间的换算。至于为什么要选160dpi,Google官方文档的解释是因为第一款Android设备(HTC的T-Mobile G1)是属于160dpi的。(呵呵)
sp :英文全称是Scaled Pixels,主要用于字体显示,与dp有些相似,也是设备无关的,但是它会根据用户的字体大小选项进行缩放。

2. dp


       开发者在UI设计中用到最多的要数dp了,我刚开始接触Android开发时,就是凭着感观调整控件的位置和大小,但是对于dp到底是个什么东西。dp表示设备无关像素,是逻辑上的像素,不对应在具体的屏幕上。dp和px的关系是:
    px = dp x density
我的理解dp是一种映射关系,我将尺寸为3英寸x2英寸,像素为480x320的屏幕称为标准屏幕,标准屏幕的ppi是160px/inch,density为1,1px等于1dp。如下图示:一个标准屏幕中显示了一个黄色的正方形,其边长为160dp或者说是160px:
       当我们将像素密度提高一倍,即屏幕的长和宽不变,但是像素变为960x640,如果还是在屏幕中显示同样大小的正方形,其边长为320px或者160dip

       可见将边长用dip来表示,可以保持图形的大小与屏幕的大小的比例关系不变,这就避免同一个应用程序要为各种尺寸,各种分辨率的设备做适配了,减轻了开发者的工作负担。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值