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" />
-->
</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" />
この問題に直面しましたが、私の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のコピーのみを提供できます。