Android開發圖示尺寸詳解
一、開發中的實際情況(促進理解):
Android開發中一個很重要的組成,就是開發者和UI設計師的配合,這關乎到APP介面部分——吸引使用者的直接手段,那麼在實際開發中,開發者和設計師是如何配合的呢?第一步:產品經理和UI設計師制定好UI規範,然後開始做圖示做顏色做尺寸等一系列和APP介面強相關的工作,以最常見的“back”按鈕為例,UI設計師從無到有的具體實現步驟:①在coreldraw或者Sketch中製作好“向量圖示“—返回,此時的長寬單位是毫米;②儲存輸出為“PNG點陣圖圖片”—返回,此時的長寬單位是px(畫素);③指定好此圖示的內外邊距,此時的邊距單位是px(畫素);④最終此圖示圖片交到開發者手中,做好圖片的放置和內外邊距的實現。開發這在這個過程中會遇到一個問題:內外邊距是由px為單位的距離,但是在實際開發中“dp”做為單位的更加常見,所以就會涉及到“px”“dp”互轉的封裝類,專門用來實現這個過程,同時還要注意不同解析度螢幕的適配。
二、上述過程中涉及到的知識點(非常重要):
(1)px,平常我們所說的手機的解析度是1920×1080,這就是畫素數量,也就是1920px×1080px,代表手機高度上有1920個畫素點,寬度上有1080個畫素點,每個畫素點的單位是px。
(2)dp,dp是為了開發者便於做不同螢幕的適配而引入的開發單位,具體來說就是為了使得開發者設定的長度能夠根據不同螢幕(解析度/尺寸也就是dpi)獲得不同的畫素(px)數量。比如:我將一個控制元件設定長度為1dp,那麼在160dpi上該控制元件長度為1px,在240dpi的螢幕上該控制元件的長度為1*240/160=1.5個px。也就是dp會隨著不同螢幕而改變控制元件長度的畫素數量。
(3)DPI
三、Android開發中圖示尺寸總結(務必掌握):
(1)dpi、解析度與圖示尺寸的關係
L DPI ( 120 DPI )—解析度240*320px,其啟動圖示大小為 36 x 36 px
M DPI (160 DPI )—解析度320*480px,其啟動圖示大小為 48 x 48 px
H DPI ( 240 DPI )—解析度480*800px,其啟動圖示大小為 72 x 72 px
XH DPI ( 320 DPI )—解析度
XXH DPI( 480 DPI )—解析度1920*1080px,其啟動圖示大小為144 x 144 px
XXXH DPI( 640 DPI )—解析度3840*2160px,其啟動圖示大小為192 x 192 px
(2)開發中“px”到“dp”
從 px 換算成 dp 要知道它是以什麼 dpi 標準來設計的,換句話說,就是要根據不用解析度的螢幕,根據換算關係表得到相應的 dp 。 例如: 以 xxhdpi 標準設計的 UI,其中一個切圖的解析度是 600 px * 360 px ,根據換算關係表可知,在 xxhdpi 標準下,1 dp = 3 px ,則其對應的 dp 是 200 dp * 120 dp 。換算關係表如下:(兩次標紅 請重點關注)
名稱 | 對應 DPI | 比例(以 mdpi 為基數 1) | 和px的換算關係 |
lpdi | 120 DPI | 0.75 | 1 dp = 0.75 px |
mdpi | 160 DPI | 1 | 1 dp = 1 px |
hdpi | 240 DPI | 1.5 | 1 dp = 1.5 px |
xhdpi | 320 DPI | 2 | 1 dp = 2 px |
xxhdpi | 480 DPI | 3 | 1 dp = 3 px |
xxxhdpi | 640 DPI | 4 | 1 dp = 4 px |
備註:看完之後,就知道文中為何重點將1280*720px和1920*1080px標註為紅色了。(時間為2018-03-21)
http://compass.umeng.com/?spm=a211g2.181323.0.0.5c633604E4m8T7&&utm_source=zzbanner#/equipment?_k=jmi4ox
原創文章:轉載請標明出處 謝謝。