Android studio导入svg图片:Gradient has no stop info

转载请注明出处!

最近尝试用vector绘制图标,但是纯代码太麻烦and不想学。。
于是使用Inkscape绘制出svg图标并在android studio中导入vector asset。
出现错误:line XX: Gradient has no stop info
搜到了相关解答:Gradient has no stop info error while importing SVG file in Android Studio
认为是Android studio无法解析引用xlink:href="#linearGradient6105"中的停止信息(渐变的信息);于是将被引用值直接写到引用处解决。

  1. 右键svg文件以文本形式打开,找到报错行数上下文:
  <defs
     id="defs3721">
    <linearGradient
       id="linearGradient6105">
      <stop
         id="stop6101"
         offset="0"
         style="stop-color:#7dc0f3;stop-opacity:1;" />
      <stop
         id="stop6103"
         offset="1"
         style="stop-color:#7dc0f3;stop-opacity:0;" />
    </linearGradient>
    <linearGradient
       osb:paint="solid"
       id="linearGradient6020">
      <stop
         id="stop6018"
         offset="0"
         style="stop-color:#ffc2ea;stop-opacity:1;" />
    </linearGradient>
    <linearGradient
       osb:paint="solid"
       id="linearGradient6012">
      <stop
         id="stop6010"
         offset="0"
         style="stop-color:#ffc2ea;stop-opacity:1;" />
    </linearGradient>
    <linearGradient
       gradientUnits="userSpaceOnUse"
       y2="19.608416"
       x2="91.915047"
       y1="41.236385"
       x1="64"
       id="linearGradient6107"
       xlink:href="#linearGradient6105" /> <!-- 报错行数 -->
  </defs>
  1. 被引用的是定义为"#linearGradient6105"
<linearGradient
       id="linearGradient6105">
      <stop
         id="stop6101"
         offset="0"
         style="stop-color:#7dc0f3;stop-opacity:1;" />
      <stop
         id="stop6103"
         offset="1"
         style="stop-color:#7dc0f3;stop-opacity:0;" />
    </linearGradient>

改写到引用处保存:

    <defs
     id="defs3721">
    <linearGradient
       osb:paint="solid"
       id="linearGradient6020">
      <stop
         id="stop6018"
         offset="0"
         style="stop-color:#ffc2ea;stop-opacity:1;" />
    </linearGradient>
    <linearGradient
       osb:paint="solid"
       id="linearGradient6012">
      <stop
         id="stop6010"
         offset="0"
         style="stop-color:#ffc2ea;stop-opacity:1;" />
    </linearGradient>
    <linearGradient
       gradientUnits="userSpaceOnUse"
       y2="19.608416"
       x2="91.915047"
       y1="41.236385"
       x1="64"
       id="linearGradient6107" >
      <stop
         id="stop6101"
         offset="0"
         style="stop-color:#7dc0f3;stop-opacity:1;" />
      <stop
         id="stop6103"
         offset="1"
         style="stop-color:#7dc0f3;stop-opacity:0;" />
       </linearGradient>
  </defs>
  1. 大功告成!重新导入到Android Studio中,不再报错。

猜你喜欢

转载自blog.csdn.net/zsq8187/article/details/103904049