Android Studio 直接导入SVG图片爆红

原因:

SVG 使用 XML 格式定义图形,标准SVG的根节点为<svg>,但是在Android中需要通过Vector实现对svg的支持,根节点为<vector>,所以我们使用svg图首先需要对svg进行转换

直接复制粘贴svg文件到drawable文件下,代码如下

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg t="1692016273964"
    class="icon"
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="1187"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    width="48"
    height="48">
    <path
        d="M900.3 342.9c-8.1 3.5-17.4-0.1-21.2-8.1-5.3-10.8-11-21.5-17.2-31.8-40.5-67.4-100.9-122.7-171.5-157-7.9-3.9-11.5-13.1-8-21.1 3.7-8.4 13.6-12.3 21.9-8.3 77.2 37.3 141.1 95.8 185.5 169.8 6.8 11.3 13.1 23 18.8 34.9 3.9 8.1 0 18-8.3 21.6zM935.7 495.5c-9 0-16.3 7.3-16.3 16.3 0 224.2-182.4 406.5-406.5 406.5S106.4 736 106.4 511.8s182.4-406.5 406.5-406.5c9 0 16.3-7.3 16.3-16.3s-7.3-16.3-16.3-16.3c-242.1 0-439.1 197-439.1 439.1s197 439.1 439.1 439.1S952 753.9 952 511.8c0-9-7.3-16.3-16.3-16.3z"
        fill="#161616"
        p-id="1188"></path>
    <path
        d="M610.5 105.3m-16.3 0a16.3 16.3 0 1 0 32.6 0 16.3 16.3 0 1 0-32.6 0Z"
        fill="#161616"
        p-id="1189"></path>
    <path
        d="M919.5 414.2m-16.3 0a16.3 16.3 0 1 0 32.6 0 16.3 16.3 0 1 0-32.6 0Z"
        fill="#161616"
        p-id="1190"></path>
    <path
        d="M431.6 365.4c-9 0-16.3 7.3-16.3 16.3v260.2c0 9 7.3 16.3 16.3 16.3s16.3-7.3 16.3-16.3V381.7c0-9-7.3-16.3-16.3-16.3zM594.2 365.4c-9 0-16.3 7.3-16.3 16.3v260.2c0 9 7.3 16.3 16.3 16.3s16.3-7.3 16.3-16.3V381.7c0-9-7.3-16.3-16.3-16.3z"
        fill="#161616"
        p-id="1191"></path>
</svg>

根标签是svg,即使右侧可以成功预览图标,但是依旧有爆红 

 

由于我们通常需要一次性转换多个svg,因此推荐使用一个插件来实现svg到Vector的转换

插件名:SVG2VectorDrawable

Intellij Platform插件,通过其可以完成从svg文件到Android VectorDrawable的自动化转换

特性

  • 图形化界面
  • 自动解析当前Project,如果当前Project为Android Project,则会列出所有Module
  • 支持将SVG解析为多种dpi的VectorDrawable
  • 支持SVG的transform属性
  • 支持批量转换指定目录内的所有svg文件

 下载后重启IDE

双击shift查找

 勾选Batch可以将整个文件夹下的svg图标转换为Vector

可以选择转换后将Vector存放在哪个mudule的drawable文件夹下

点击generate就可以自动生成

 单个转换

 可以看到格式已经转换成功了,但是res文件夹下的文件命名规则是

must contain only [a-z0-9_.]

修改后就没有报错了 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值