1. 程式人生 > >Android開發圖示尺寸詳解

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

,使用者實際判別手機螢幕的顯示好壞,除了解析度還要考慮螢幕的寬高(英寸),也就是用dpi,即每英寸多少畫素來評價螢幕的顯示效果。(不然假如手機解析度是1920×1080,但是螢幕是幾十寸的,那顯示效果將不會很好,甚至你有可能看到小的畫素塊,那將更影響視覺效果。)

三、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 )—解析度

1280*720px,其啟動圖示大小為 96 x 96 px
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的換算關係
lpdi120 DPI0.751 dp = 0.75 px
mdpi160 DPI11 dp = 1 px
hdpi240 DPI1.51 dp = 1.5 px
xhdpi320 DPI21 dp = 2 px
xxhdpi480 DPI31 dp = 3 px
xxxhdpi640 DPI41 dp = 4 px
(3)推薦一個網站:友盟(開發者/UI設計師請收藏在標題欄上)

備註:看完之後,就知道文中為何重點將1280*720px和1920*1080px標註為紅色了。(時間為2018-03-21

http://compass.umeng.com/?spm=a211g2.181323.0.0.5c633604E4m8T7&&utm_source=zzbanner#/equipment?_k=jmi4ox

原創文章:轉載請標明出處 謝謝。