单位和尺寸

      为了让程序有更好的屏幕适配能力,在指定控件大小的时候,最好使用match_parent和wrap_content,尽量避免将控件的宽和高设定为一个固定的值,不过在某些时候,还是需要指定控件的具体大小的。在布局文件中指定宽高的固定大小有以下的单位供选择,px,pt,dp,sp。

px和pt

      px是像素的意思,即屏幕中可以显示的最小元素单元,应用里任何可见的东西都是由一个个像素点组成的。

      pt是磅数的意思,1磅等于1/72英寸,一般pt都会作为字体的单位来使用。因为手机的分辨率不同,一个200px宽的按钮在低分辨率的手机上可能将近占据满屏,而到了高分辨率的手机上可能只占屏幕的一半。

dp和sp

   Google当然意识到px和pt带来的问题,于是为Android引入了一套新的单位dp和sp。dp是密度无关像素的意思,也被称作是dip,和px相比,它在不同密度的屏幕中的显示比例保持一致。

   sp是可伸缩像素的意思,它采用了和dp同样的设计理念,解决了文字大小的适配问题。

   dpi(而不是dip),是用来表示手机屏幕的像素密度,一英寸所包含的像素数。比如一个宽是2英寸长是3英寸的屏幕,分辨率是320*480,那么这个屏幕的分辨率是160dpi。

根据Android规定,在160dpi的屏幕上1dp等于1px,而在320dpi的屏幕上,1dp等于2px。

   sp和dp的原理一样,它主要用于文字的大小,就不多说了。

原文地址:https://www.cnblogs.com/hujingwei/p/5105283.html