搜尋此網誌

2016年4月5日 星期二

【Android】減少App icon容量的方法

ref:
http://developer.android.com/intl/zh-tw/tools/help/vector-asset-studio.html

Icon 下載(建議存成.svg檔,why? 為了後面步驟)

SVG轉 Vector xml(以向量圖呈現xml檔)

1.res -> right click -> New -> Vector Assert
2-1.可透過"Choose"選擇內建的PNG檔。
2-2.或是點選Local SVG file,指定PNG檔。
3.在這以指定的PNG檔作示範
4.就會在/drawable下產生,向量圖。
5.<!-- intrinsic size of the drawable -->
android:width="24dp"
android:height="24dp"
6. <!-- size of the virtual canvas -->
android:viewportHeight="16.0"
android:viewportWidth="16.0"
7.<!-- fill color -->
android:fillColor="#FF000000"

或是將多個svg/vector image包裝成ttf檔(字型檔)

使用上述工具https://icomoon.io/,可將多筆svg檔轉成icon font的ttf檔,可以做成同樣的效果。

原因:可參考Android — 讓APK裡的切圖容量減少95%的好方法

依照wiki上描述向量圖具有
  • 儲存最少的資訊,檔案大小比位圖要小,並且檔案大小與物體的大小無關
  • 在圖像處理軟體中,任意放大向量圖形,不會遺失細節或影響清晰度,因為向量圖形是與解析度無關的。無限地放大這個圓,它仍然保持平滑;用多邊形表示的曲線將會顯現出不是真正的曲線
  • 在放大的時候,直線與曲線都不會成比例地變粗,它只會保持不變或者要小於縮放比例;為了看起來比較平滑,使用簡單幾何形狀表示的不規則曲線將會成比例地變粗,並且看起來不再像這些幾何形狀
  • 儲存的物體參數可以在後面修改。這也就是說物體的運動縮放旋轉、填充等都不會降低繪製的精度。
...等優點。

或是使用Third Party Library (Android-Iconics)

這個套件內含五種圖庫(或稱字型):
此library包裝了不少icon的字型,可直接使用,省去自己加工包裝的時間。
詳細介紹,可參考[Android] Android-Iconics 圖形套件



沒有留言: