Android APPUI設計師必知:pt sp dp之間的關系

我們都知道APP?UI設計師常用的工具是Ps或者Ai,但是里面都沒有sp的單位的。我們先來普及下一些關于Android尺寸單位或者是分辨率一些知識點:

px: pixels(像素).?不同設備顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多。

pt: point,是一個標準的長度單位,1pt=1/72英寸,用于印刷業(yè),非常簡單易用;

sp: scaled pixels(放大像素).?主要用于字體顯示best for textsize。由此,根據 google 的建議,TextView 的字號最好使用 sp 做單位,而且查看TextView的源碼可知 Android 默認使用 sp 作為字號單位。

sp和dp一樣,是android開發(fā)里特有的單位,設計師在做UI設計的時候通常最初是建立320*480這個尺寸的畫布開始的,這個尺寸的畫布在android分辨率的分類中稱為mdpi,在這個尺寸下,ps里的1px就等于android中的1dp,同樣,這個時候1點的字就等于android中1sp,舉個栗子:你建立畫布的尺寸是320-480,里面的文字是30點,那么它就是30sp。

android-設計

下面我們來詳細講解下pt 、sp、dp之間的換算關系

Android支持下列所有單位:

px(像素):屏幕上的點。

in(英寸):長度單位。

mm(毫米):長度單位。

pt(磅):1/72英寸。

dp(與密度無關的像素):一種基于屏幕密度的抽象單位。在每英寸160點的顯示器上,1dp = 1px。

dip:與dp相同,多用于android/ophone示例中。

sp(與刻度無關的像素):與dp類似,但是可以根據用戶的字體大小首選項進行縮放。

分辨率:整個屏是多少點,比如800x480,它是對于軟件來說的顯示單位,以px為單位的點。 density(密度)值表示每英寸有多少個顯示點,與分辨率是兩個概念。apk的資源包中,

當屏幕density=240時使用hdpi標簽的資源

當屏幕density=160時,使用mdpi標簽的資源

當屏幕density=120時,使用ldpi標簽的資源。

一般android設置長度和寬度多用dip,設置字體大小多用sp. 在屏幕密度為160,1dp=1px=1dip, 1pt = 160/72 sp 1pt = 1/72 英寸.當屏幕密度為240時,1dp=1dip=1.5px.

 

舉例說明:

對于一部wvga(480x800)手機(G7、N1、NS),一般是運行在hdpi模式下。當運行在hdpi模式下時,1dp=1.5px:也就是說設計師在PS里定義一個item高72px,開發(fā)就會定義該item高48dp;Photoshop中21px大的字體,開發(fā)會定義為14sp。

 

另外mdpi、hdpi、xhdpi是android屏幕分辨率的單位。別搞混了!

 

擴展閱讀:Android界面設計專業(yè)術語:xxxhdpi和4K分辨率

android的分辨率和IOS類似,它有四個像素密度,android提供120DPI(低密度),160DPI(中密度),240DPI(高密度)和320DPI(超高密度),所有用戶界面都是基于四個密度之一的尺寸來設計的。要支持所有4個密度,是很悲劇的。如果一開始是以160DPI來設計,那么你就需要擴展這些密度到100%、150%和200%。

AndroidDPI設計知識詳解:

ppi(pixels per inch):圖像的采樣率(在圖像中,每英寸所包含的像素數目)

dpi(dots per inch):打印分辨率(每英寸所能打印的點數,即打印精度)等。

androidapp

總結:為了使用戶UI界面能夠在現在和將來的移動端顯示器類型上正常顯示,建議大家始終使用sp作為Android系統(tǒng)上面?文字大小的單位,將dip作為其他元素的單位。

 

每天更新,
全站高品質素材免費下載!