前言

雖然以下的說明洋洋灑灑,但大多僅是 iOS/Android 兩平台各自的一些規矩,再請您於切圖前做參考應該就不是大問題。 以現況而言,若是要節省時間的作法,會建議您以 1080P (1080×1920)為全螢幕作為設計的基礎,切圖也是以此為基礎來切圖。 這樣子會是最簡單,且可以同時提供給 iOS/Android App做整合使用的作法。 也就是說,假設要切某個 Button 圖出來,您只需要準備兩套:

  1. 1080P為全螢幕時的切圖: 供 iOS 3x 環境,以及 Android xxhdpi 來使用。
  2. 8S(750Wx1334H)的 2x 切圖: 供iPhone 8 or 8S 等機種使用,但因為寬高比例與 1080P 時一樣,所以直接等比例縮小即可。

1080P 手機是目前的主流,以此為設計基礎,可以更有效率的完成切圖。

iOS部分

  • 所有檔案請以PNG格式輸出。
  • 現階段切圖時,請您僅提供 2x 與 3x 的切圖。
  • 1x/2x/3x的三種檔案的檔名以及尺寸需有連鎖關係,同一張圖檔:
  • 1.檔名: abc.png abc@2x.png abc@3x.png 只能使用英文、數字,且不可以有任意兩個檔案名稱重複。建議一律採用小寫英文檔名。
  • 2.尺寸: abc.png(50Wx50H) abc@2x.png(100Wx100H) abc@3x.png(150Wx150H)
  • 主程式Icon: 需為PNG 1024Wx1024H的格式,且沒有Alpha或者透明層以及不用切圓角
  • 主程式Icon: 也可以參考這個網址介紹的Template來產出:App Icon Template
  • 歡迎頁(Launch Image): 即裝置的全螢幕尺寸,有多種款式,請參考Apple官方說明
  • 若同一顆按鈕,有多種狀態時,請採用以下的命名方式:
abc@2x.png		Default
abc_d@2x.png		Disable
abc_f@2x.png		Focused
abc_h@2x.png		Highlighted
abc_s@2x.png		Selected
  • 所有檔案請依照1x、2x、3x、示意圖、主程式Icon分成四個大目錄,底下再包含個功能的分類子目錄,以下圖為範例:

  • 若是有底圖的按鈕,請切出底圖即可,但是請提示上方的文字Size以及字型。
  • 歡迎頁上面若有多種元素,不用分別切開,直接提供一整張跟示意圖一樣的圖檔即可。
  • 切圖時,圖片周圍的透空色區域越小越好。
  • 除非特殊情況,所使用的字型務必使用iOS所支援的字型:
  • iOS Device Size:

iPhone:

iPad:

  • navigation bar(上圖綠色部分)與status bar(上圖紅色部分)部分,在iOS6是無法更換status bar的background image,只能改變顏色(需要色碼)。但在iOS7之後,navigation bar與status bar是連為一體的,故可以放置background image。因此在設計iOS7的navigation bar background image時需注意尺寸為44+20=64H(1x),而設計iOS6之前的navigation bar background image時只需要44H(1x)就好。
  • navigation bar上的標題是可以不放文字放圖片的,但不論iOS7或iOS6均須符合44H的限制。
  • 設計iOS7的Navigation bar時可不包含Status bar,這時候只需44H(1x)的圖就好,整個版面部分也可以算成延長20H。
  • 參考文章:iOS Device Sizes

Android 部分

  1. Android上是以dpi(dots per inch)為單位計算螢幕大小, 依照dpi可分為幾種尺寸
  • ldpi (low) ~120dpi
  • mdpi (medium) ~160dpi
  • hdpi (high) ~240dpi
  • xhdpi (extra-high) ~320dpi
  • xxhdpi (extra-extra-high) ~480dpi
  1. 目前市面上常見的尺寸為
  • ldpi (low) - 240×320 pixels
  • mdpi (medium) - 320×480 pixels
  • hdpi (high) - 480×800 pixels
  • xhdpi (extra-high) - 720×1280 pixels
  • xxhdpi (extra-extra-high) - 1080×1920 pixels
  1. 現階段切圖時,請您優先依照 xxhdpi 來切圖,其餘格式有需要再補充即可。
  2. 有序列表項目在Android內coding時採用dp(Density Independent Pixels)此種虛擬的解析度單位來方便dpi和pixels之間的換算,當螢幕為mdpi的時候, 1px = 1dp, 所以用mdpi的160dpi為基準, 則換算公式為:
px = dp * (dpi / 160)

以此計算倍率為下圖, 而xxhdpi為3.0x

所以建議的做法是, 先在mdip上確定了圖片的位置大小和效果都是你所想要的, 在用倍率乘上去就可以算出各種不同解析度所要的圖片大小, 例如圖片的啓動icon:

  • 36×36 (0.75x) for low-density
  • 48×48 (1.0x baseline) for medium-density
  • 72×72 (1.5x) for high-density
  • 96×96 (2.0x) for extra-high-density
  • 144×144 (3.0x) for extra-extra-high-density
  • 192×192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see note above)
  1. 除了 App Icon 之外,依照 Android 的規範,推播通知會需要另外一個 icon 它的相關規格說明如下:

通知 Notifications 以這個範例為例: 大張方形的部分的會放app icon,小張圓圈圈內會放一個小icon,一定要是全白的,這個icon他會出現在上方status bar上面的(電量,時間,網路這條)圓圈圈可以指定背景顏色,以下為一個設計範例。 pushicon.zip

  1. 檔案命名規則:

小寫a-z, 0-9, 不能包含特殊符號($%#^等等), 空白, 建議命名規則:ic_launcher

  1. 設計稿(示意圖)設計的提醒: 繪製示意圖請考量status bar 25dp(上方時間電量), navigation bar 48dp(下方back, home key),有些元件比較多的頁面可能會因此調整UI。
  1. 若某個圖檔需要在使用時做延展的話,請採用 9patch 的格式,詳情請參考:Create Resizable Bitmaps (9-Patch files)
  1. 參考網址:

外部連結 外部連結