众所周知,在网页端有一种放大而不失真的图片格式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图,就可以制作字符图标了