Android度量单位
1.屏幕尺寸
屏幕的物理尺寸,以屏幕的对角线长度作为依据。(比如2.8寸,3.5寸)
Android所有的屏幕尺寸简化为大、正常和小三大类。程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程不需要程序员代码来干预的。
2.屏幕长宽比
屏幕的物理长度和物理宽度的比例。
3.分辨率
屏幕上拥有像素的总数。注意,虽然大部分情况下分辨率都被表示为"宽度x长度",但分辨率并不意味着屏幕长宽比。在Android系统中,程序一般不直接处理分辨率。
4.密度
以屏幕分辨率为基础,沿屏幕长宽方向排列的像素,既屏幕每英寸所包含的像素数。
密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多,甚至会非常非常多,像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会显得很大,在高密度的屏幕上则会显得很小。
5.密度无关的像素(dp/dip)
一个抽象意义上的像素,设备独立像素,在不同密度的屏幕中的显示比例将保持一致。在逻辑上尺上,与一个位于像素密度为160dpi的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,"透明地"处理所有需要的dip缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:pixels=dips*(density/160)。
6.SP
可伸缩像素,采用和dp同样的设计理念,解决文字大小的适配问题。
为了简化程序员在面临各种分辨率时的困扰,也为了具备各种分辨率的平台都可以直接运行程序,Android平台将所有的屏幕以密度和分辨率为分类方式,各自分成三类:
四种主要的尺寸:超大,大,正常,小。
三种不同的密度:超大(xhdpi),高(hdpi),中(mdpi)和低(ldpi)。
如果需要的话,程序可以为各种尺寸的屏幕提供不同的资源(主要是布局),也可以为各种密度的屏幕提供不同的资源(主要是位图)。除此之外,程序不需要针对屏幕的尺寸或者密度做出额外的处理。在执行的时候,平台会根据屏幕本身的尺寸和密度特性,自动载入对应的资源,并将它们从逻辑像素(dp)转换成屏幕上的物理像素(px)。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。