1. 程式人生 > >android UI設計圖片和文字尺寸px對應dp、sp值換算

android UI設計圖片和文字尺寸px對應dp、sp值換算

螢幕尺寸:指螢幕的對角線長度,單位是英寸,1英寸等於2.54釐米,常見尺寸有2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0等。

螢幕解析度:指在縱橫向上的畫素點數,單位是px,1px為一個畫素點,一般格式為縱向畫素*橫向畫素,如1960*1080。

螢幕畫素密度:相同尺寸情況下,解析度越高,螢幕越清晰,即螢幕畫素密度越大。螢幕畫素密度指每英寸上面的畫素點個數,單位是dpi,是“dot per inch”的縮寫,計算方式如下圖:

密度無關畫素:單位dip或dp,是Density Independent Pixels的縮寫,Android規定,在螢幕畫素密度為160dpi的情況下,1dp=1px。而在畫素密度為320dpi的情況下,1dp=2px,以此類推。計算公式:1dp=(畫素密度/160dpi)*1px。

sp:全稱cale-independent pixels,與dp類似,用於設定字型大小。

設定佈局時,使用dp和sp(字型),不要直接使用px,這樣才能保證螢幕適配。

dpi的範圍劃分

(表中畫素密度範圍後包前不包,如120~160為120<x<=160):及dp/sp/px換算比率(rate=畫素密度/160dpi,dp=px/rate)

名稱 ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi
畫素密度 0~120dpi 120dpi~160dpi 160dpi~240dpi 240dpi~320dpi 320dpi~480dpi 480dpi~640dpi

比率rate

0.75 0.75~1 1~1.5 1.5~2 2~3 3~4
代表性解析度 240*320 320*480 480*800 720*1280 1080*1920  

Android的圖示尺寸 

畫素密度 啟動圖示 歡迎頁背景圖 操作欄圖示 上下文圖示 系統通知圖示(白色) 最細筆畫

mdpi

48×48 px 320*480 32×32 px 16×16 px 24×24 px 不小於2 px

hdpi

72×72 px 480*800 48×48 px 24×24 px 36×36 px 不小於3 px

xhdpi

96×96 dp 720*1280 72×72 dp 32×32 dp 48×48dp 不小於4 dp

xxhdpi

144×144 px 1080*1920 96×96 px 48×48 px 72×72 px 不小於6 px

UI設計舉例

比如UI設計師給的圖是以750px的螢幕寬度作為標準的,例如一張圖片的尺寸是100px*100px,或者字型大小為100px,則換算成android的dp和sp為(以xxhdpi屏為常用適配機型 rate = 320/160~480/160=2~3):(1080/750)*100/rate=144/2~144/3=48dp~72dp