web-dev-qa-db-ja.com

Android StudioにSVGファイルをインポートしている間、グラデーションには停止情報エラーはありません

Android Studio using Vector Asset]のInkscapeからエクスポートされたSVGファイルをアップロードしようとしていますが、残念ながら次のエラーが発生しました:

ERROR @line 35: Gradient has no stop info

グラデーションが定義されているコード:

<defs
     id="defs11210">
    <linearGradient
       inkscape:collect="always"
       id="linearGradient11815">
      <stop
         style="stop-color:#69aeed;stop-opacity:1"
         offset="0"
         id="stop11811" />
      <stop
         style="stop-color:#66e6b2;stop-opacity:0.90909094"
         offset="1"
         id="stop11813" />
       --&gt;
    </linearGradient>
    <radialGradient <!-- LINE 35-->
       inkscape:collect="always"
       xlink:href="#linearGradient11815"
       id="radialGradient928"
       cx="99.615288"
       cy="233.88142"
       fx="99.615288"
       fy="233.88142"
       r="80.842598"
       gradientTransform="matrix(1,0,0,1.3440437,0,-80.46542)"
       gradientUnits="userSpaceOnUse" />
  </defs>

xlink:href="#linearGradient11815"が問題の原因だと思いますが、Android Studioが停止情報が参照されていることを認識できない理由がわかりません。

前もって感謝します。

Moini の提案に従って構文を変更しましたが、それでも機能しません。

<stop stop-color="#69aeed"
        stop-opacity="1"
        offset="0" />
<stop stop-color="#66e6b2"
        stop-opacity="0.90909094"
        offset="1" />
6
Paweł Bęza

この問題に直面しましたが、私のSVGには手動の置換にはグラデーションが多すぎます。修正を自動化するためのツールを作成しました。

Android studio。でベクターアセットとしてSVGファイルをインポートすると、Javaユーティリティが「グラデーションに停止情報がない」を修正しました。

ターゲットSVGファイル名をパラメーターとして渡します。

オプションのパラメーター:-fは強制的にターゲットの_nonstop.svgファイルを上書きし、-vは詳細な出力を持ちます。

例:

./bin/svg-non-stop my_vector_drawable.svg

バイナリは https://github.com/s3r6/svg-non-stop/releases/latest で入手できます

ソース https://github.com/s3r6/svg-non-stop/blob/master/src/main/kotlin/NonStop.kt

モデレーターおよび追加情報を必要とするその他の人向け:説明がないために以前の回答が削除されたため、追加で必要な情報をコメントしてください。 githubでホストされているソースとバイナリはここに投稿できないため、readmeのコピーのみを提供できます。

0
Serge