標籤:android 計量單位 dpi dp sp
一、像素(px)與螢幕解析度
1)px(Pixels ,像素):對應螢幕上的實際像素點。例如,320*480的螢幕在橫向有320個象素,在縱向有480個象素。
2)螢幕解析度就是在螢幕上顯示的物理像素總和,它等於螢幕的寬度上的像素*高度上的像素。在android應用程式的開發上,不會使用螢幕解析度。
3)螢幕解析度雖然是寬*高,但是它與螢幕的大小沒有關係,它與一個螢幕的像素的數量相關。
二、dpi
1)dpi:像素每英寸,是螢幕像素(px)密度的單位。像素密度就是螢幕指定物理寬高範圍內能顯示的像素的數量。
2)在android中,dpi有如下分類,ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi
3)在現實中,通常以mdpi為一個基準,它表示160dpi,並將此密度定義為1個密度的單位。160dpi表示在1平方英寸的面積內有160*160個像素點。ldpi則為120dpi,hdpi則為240dpi,xhdpi則為320dpi,xxhdpi則為480dpi,xxxhdpi則為640dpi,也就是說ldpi的密度為0.75,hdpi的密度為為1.5,xhdpi則為2,xxdpi則為3,xxxhdpi則為4。
4)dpi跟螢幕的大小無關,它只是像素密度的一個量度。
三、dp
獨立於物理密度的量度單位,它以160dpi為基準,無論在哪種dpi的螢幕下,1dp表示的物理長度都是一樣的。在160dpi的螢幕下,1dp=1px,即一個dp需要用一個px來表示,在240dpi的螢幕下,1dp=1.5px,表示一個dp需要1.5個px來表示。也就是說1dp=dpi/160*px。它的意義在於可以讓開發人員開發出無論在哪種dpi的屏蔽下顯示大小都相同的UI。也就是說在相同尺寸、但不同的解析度的手機上,用dp標識的東西,顯示的大小是一樣的。
四、dip
與dp相同
五、sp
scaled pixels放大像素的縮寫,專門用於處理字型的大小。它不僅與螢幕dpi有關,還與系統的預設字型大小有關。對於同一sp值,螢幕dpi越高,所顯示的字型越小;系統字型越大,所顯示的字型也越大。這就是我們設定系統字型大小後,所有使用sp為單位的字型都改變了的原因。
android應用開發之View的大小計量單位(px、dpi、dp、dip、sp)