https://material.io/devices/? ? 官方推薦的dp與px對換。
完全參考文章:http://geek.csdn.net/news/detail/190325
1、屏幕像素密度
·含義:每英寸的像素點數(shù)
·單位:dpi(dots per ich)
假設設備內(nèi)每英寸有 160 個像素,那么該設備的屏幕像素密度=160dpi

2、密度無關像素(dp)
·含義:density-independent pixel,叫 dp 或 dip,與終端上的實際物理像素點無關。
·單位:dp,可以保證在不同屏幕像素密度的設備上顯示相同的效果
·Android 開發(fā)時用 dp 而不是 px 單位設置圖片大小,是 Android 特有的單位
場景:假如同樣都是畫一條長度是屏幕一半的線,如果使用 px 作為計量單位,那么在 480x800 分辨率手機上設置應為 240px;在 320x480 的手機上應設置為 160px,二者設置就不同了;如果使用 dp 為單位,在這兩種分辨率下,160dp 都顯示為屏幕一半的長度。
·dp 與 px 的轉換
因為 UI 設計師給你的設計圖是以 px 為單位的,Android 開發(fā)則是使用 dp 作為單位的,那么我們需要進行轉換:

在 Android 中,規(guī)定以 160dpi(即屏幕分辨率為 320x480)為基準:1dp=1px
3、UI給工程師切多大圖是合適的
在之前, 設計師的交互和視覺設計都是基于480*800的界面, 切圖的時候會以480*800為基礎切一版, 然后在給所切圖片的寬和高乘上個4/3,然后在出一版。
比如同一個120*180的圖片, 就會出兩個版本, 一個是120*180的一個是160*240的。分別放到hdpi目錄和xhdpi目錄。
吃到的苦頭是,UI很累, apk很大。T^T
這番探究下來, 發(fā)現(xiàn)直接基于720*1280的視覺稿切一版圖片就可以了。 將圖片只放到xhdpi目錄中,這樣系統(tǒng)會在不同密度屏幕的手機中對圖片進行合理的縮放, 而之前這個縮放工作竟然是人工完成的!
另: 如果想在xxhdpi的手機上顯示的很好, 也可以基于1080P的屏幕設計, 這樣的話就兼容所有低密度屏幕的手機, 而且也不會出現(xiàn)圖片被拉扯的現(xiàn)象。