眾所周知,在網頁端有一種放大而不失真的圖片格式svg格式圖,其實這也稱為矢量圖,就是說圖片是一句一句的代碼繪制的,這種圖片的好處就是放大不失真而且體積小容易調用。
https://cn.ui.vmall.com/thread-13442194-1-1.html
而在Android 5.0之后新的Android API也支持了矢量圖 稱為 Android VectorDrawable
也就是軟件包中drawable中的某些xml文件中所包含的代碼 代碼繪制圖片是不是有一些不可思議? 來我們用圖片來看一下。<ignore_js_op>這就是一個電量圖標 通過Android VectorDrawable繪制 調用方法非常簡單就和平常的png格式一樣 在布局中用android:src="@drawable/文件名"調用
看看效果吧<ignore_js_op>而我們現在修改主題只是把文件的png后綴改成xml后綴讓系統可以識別資源然后調用 但是圖片不支持各種分辨率 放大仍然會失真。
所以真正的方法是自己繪制Android VectorDrawable而不是光改后綴名。
繪制Android VectorDrawable需要先將png位圖轉換svg格式矢量圖然后再轉為Android VectorDrawable
用png圖片直接轉成矢量圖標
https://www.jianshu.com/p/be53c3c1e5ac
用AI將png轉成svg做字符圖標教程
首先准備一張背景為透明的png圖片,建議尺寸300*300或以上

用AI工具打開准備好的png圖片(我用的CC)

點擊工具欄上的窗口,選擇圖像臨摹


點擊描摹,然后關閉。
點擊工具欄上的視圖,選擇顯示透明度網格

圖像就變為如下:

點擊工具欄上的對象,選擇擴展,確定

切換到直接選擇工具

雙擊白色區域,然后按delete刪除,即可消除白色區域

將文件另存為svg格式。
打開IcoMoon網站https://icomoon.io/app/#/select ,上傳已做好的svg圖,就可以制作字符圖標了