------> https://blog.csdn.net/zhaokaiqiang1992/article/details/45419023 ;這一篇網文內容詳盡 佈局
屏幕尺寸指屏幕的對角線的長度,單位是英寸,1英寸=2.54釐米測試
好比常見的屏幕尺寸有2.四、2.八、3.五、3.七、4.二、5.0、5.五、6.0等字體
屏幕分辨率是指在橫縱向上的像素點數,單位是px,1px=1個像素點。通常以縱向像素*橫向像素,如1960*1080。.net
屏幕像素密度是指每英寸上的像素點數,單位是dpi,即「dot per inch」的縮寫。屏幕像素密度與屏幕尺寸和屏幕分辨率有關,在單一變化條件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。設計
px咱們應該是比較熟悉的,前面的分辨率就是用的像素爲單位,大多數狀況下,好比UI設計、Android原生API都會以px做爲統一的計量單位,像是獲取屏幕寬高等。blog
dip和dp是一個意思,都是Density Independent Pixels的縮寫,即密度無關像素,上面咱們說過,dpi是屏幕像素密度,假如一英寸裏面有160個像素,這個屏幕的像素密度就是160dpi,那麼在這種狀況下,dp和px如何換算呢?在Android中,規定以160dpi爲基準,1dip=1px,若是密度是320dpi,則1dip=2px,以此類推。圖片
假如一樣都是畫一條320px的線,在480*800分辨率手機上顯示爲2/3屏幕寬度,在320*480的手機上則佔滿了全屏,若是使用dp爲單位,在這兩種分辨率下,160dp都顯示爲屏幕一半的長度。這也是爲何在Android開發中,寫佈局的時候要儘可能使用dp而不是px的緣由。ip
而sp,即scale-independent pixels,與dp相似,可是能夠根據文字大小首選項進行放縮,是設置字體大小的御用單位。開發
其實以前還有個ldpi,可是隨着移動設備配置的不斷升級,這個像素密度的設備已經很罕見了,所在如今適配時不需考慮。get
mdpi、hdpi、xdpi、xxdpi用來修飾Android中的drawable文件夾及values文件夾,用來區分不一樣像素密度下的圖片和dimen值。
那麼如何區分呢?Google官方指定按照下列標準進行區分:
名稱 | 像素密度範圍 | 像素轉換 | 分辨率 |
---|---|---|---|
mdpi | 120dpi~160dpi | 1dp = 1px | 320 x 480 |
hdpi | 160dpi~240dpi | 1dp = 1.5px | 480 x 800 |
xhdpi | 240dpi~320dpi | 1dp = 2px | 720 x 1280 (720P) |
xxhdpi | 320dpi~480dpi | 1dp = 3px | 1920 x 1080 (1080P) |
xxxhdpi | 480dpi~640dpi | 1dp = 4px | 3840 x 2160 (4K) |