Android上常见度量单位 :
px(像素):屏幕上的点,绝对长度,与硬件相关。
in(英寸):长度单位。
mm(毫米):长度单位。
pt(磅):1/72英寸,point。
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
dip:Density-independent pixel,同dp相同。
sp:在dp的基础上,还与比例无关,个人理解为是一个矢量图形单位。
引入dp/dip的原因:
过去,程序员通常以像素为单位设计计算机用户界面。例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16×16像素等。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。与分辨率无关的度量单位可以解决这一问题。
如何计算密度
1.标准是240*320画在1.5*2平方inch上。那么像每平方英寸有240*320/(1.5*2)=25600点,也就是一平方英寸的像素点为25600,所以dpi取为它的平方根160;如果你的dpi是120,那么它的密度就是0.75.
2.密度不只是与width有关,还与height有关,所以不管width是1.8还是1.3,它的密度都有可能是1;比如width是1.8,只要它的height是3/1.8的话,如果pixel为240*320的话,它的密度仍旧是1;同样如果width为1.3,只要它的 height为3/1.3的话,像素点为240*320,则密度也是1.
3.320*480/(1.5*2)得到单位平方英寸的点为51200,所以单位平方英寸是240*320画在1.5*2屏幕的2倍。但是这是平方英寸啊,算密度的时候要开平方的啊,所以应该是2开平方,是1.414吧,大致密度为1.5。
如何做到与密度无关:
如果屏幕密度为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,系统会根据屏幕密度的变化自动进行转换。官方文档总结的计算公式为:pixels = dps * (density /160).
附:
传说iPhone/Mac的设计从一开始就考虑到对任意分辨率的支持,iOS的所有介面元素用的都已经是矢量化了的图片,UI界面是系统级别的与密度无关;而Android虽然支持任意分辨率,但不是系统全局的,求证。
总结:说了半天,我认为android开发最好用dp/dip/sp,这样会自适应。
分享到:
相关推荐
Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读.doc
Android的计量单位px,in,mm,pt,dp,dip,sp Android的计量单位px,in,mm,pt,dp,dip,sp
国家法定计量单位及常见使用错误.pdf
总之,该资源是为需要进行度量单位转换的用户提供的一个方便实用的工具,它可以帮助用户快速、准确地进行度量单位转换操作。该转换器应用程序在 Android Studio 跨平台开发的基础上,具有很高的开发稳定性和代码优化...
关于金蝶K3里的多计量单位和辅助计量单位的区别
六年级常见计量单位及进率PPT学习教案.pptx
/*实际应用场景中,有需要对已经使用过的物料进行物料计量单位的修改*/ --SELECT * FROM t_UnitGroup --SELECT * FROM t_MeasureUnit --1\声明变量 DECLARE @UnitGroupName AS varchar(100) ---新的计量...
在SAP中物料创建后,一旦发生业务,其基本计量单位便很难修改。由于单位无法满足业务要求,往往会要求新建一个物料替代旧物料。这时候除了要将旧物料上所有的未清业务删除外,还需要替换工艺与BOM中的旧物料......
常用计量单位换算 常用计量单位换算 常用计量单位换算 常用计量单位换算 常用计量单位换算
法定计量单位符号及其正确写法,主要是在文本书写时作为进行文本规范,保证文章的专业性。这份为精简版。 〈一〉、质量、重量和重力 质量单位:单位名称是千克(公斤),单位符号是kg 重量与重力单位:单位名称是牛...
附件内容为:SAP中与单位相关的表。附件内容为:SAP中与单位相关的表。
自己用java写的多计量单位转换,比如mg:ml:片;1:2:3 无限极单位转换,提供任意2个单位,获取转换系数。
简易转换 Android应用程序在度量单位之间进行转换。 使用Android Studio开发。 单位转换支持: 公里-英里 英里-公里 英尺-毫米 毫米-英尺
度量衡计量单位换算转换器
法定计量单位 中国的法定计量单位(以下简称法定单位)包括: (1)国际单位制的基本单位(见表1); (2)国际单位制的辅助单位(见表2); (3)国际单位制中具有专门名称的导出单位(见表3); (4)国家选定的非国际单位制...
SAP 的物料基本计量单位是所有物料管理的基础,因此系统限制了一些修改,现展示错误追溯与解决。
度量单位换算工具 excel度量单位换算工具 方便度量单位换算工具
国家法定计量单位及常见使用错误.doc