本文為菜鳥窩作者 吳威龍 的連載
菜鳥窩是專業的程式猿線上學習平台,提供最系統的 Android 項目實戰課程
如需轉載,請聯系菜鳥窩公衆号(cniao5),并注明出處。
[toc]
前言:
SVG 格式圖檔很多優點,但是 android 程式員關心的優點無非是:SVG 較 GIF、JPEG 的優勢。
首先簡要解釋一下矢量圖像格式和位圖圖像格式的差別。矢量圖像用點和線來描述物體,是以檔案會比較小,同時也能提供高清晰的畫面,适合于直接列印或輸出。而位圖圖像的存儲機關是圖像上每一點的像素值,是以一般的圖像檔案都很大,會占用大量的網絡帶寬。SVG 是一種矢量圖形格式,GIF、JPEG 是位圖圖像格式。有了兩者的概念後,SVG 較 GIF、JPEG 的優勢顯而易見。
任意放縮:
使用者可以任意縮放圖像顯示,而不會破壞圖像的清晰度、細節等。
文本獨立:
SVG 圖像中的文字獨立于圖像,文字保留可編輯和可搜尋的狀态。也不會再有字型的限制,使用者系統即使沒有安裝某一字型,也會看到和他們制作時完全相同的畫面。
較小檔案:
總體來講,SVG 檔案比那些 GIF 和 JPEG 格式的檔案要小很多,因而下載下傳也很快。
超強顯示效果:
SVG 圖像在螢幕上總是邊緣清晰,它的清晰度适合任何螢幕分辨力和列印分辨力。
超級顔色控制:
SVG 圖像提供一個 1 600 萬種顔色的調色闆,支援 ICC 顔色描述檔案标準、RGB、線性填充、漸變和蒙版。
如何使用
這裡推薦一個圖示網站:阿裡巴巴矢量圖示庫
搜尋找到需要的圖檔,選擇 svg 下載下傳
這裡寫圖檔描述
下載下傳好的檔案是這樣的:
這裡寫圖檔描述
把這個檔案導入 AS 中,即可使用
這裡寫圖檔描述
這裡寫圖檔描述
注意導入後的 SVG 檔案,和導入前是不一樣的。
這裡寫圖檔描述
這樣就可以和之前引用 jpg、png 圖檔那樣使用 svg 矢量圖了。
下面介紹一種炫酷的繪制動畫效果。
SVG 繪制動畫
demo 示範:
這裡寫圖檔描述
這裡寫圖檔描述
使用的第三方庫
//svg函數庫
compile 'com.jrummyapps:animated-svg-view:1.0.1'
compile 'com.android.support:animated-vector-drawable:${latest_version}'
具體實作過程請看源碼: