Android Vector Drawable unterstützt nicht. Wie man es repariert?

10

| habe diesen Fehler, wenn Sie versuchen, ein Vektor-Asset aus lokalen Svg-Dateien von AndroidStudio 2.2, Ubuntu 14.04

zu erzeugen %Vor%

Hier ist das SVG-Symbol

Ich habe gegoogelt und festgestellt, dass dies passiert ist, weil AndroidStudio <defs> , <use> ... nicht unterstützt Aber ich weiß nicht, wie ich das beheben soll.
Kann ich <defs> zu einem anderen Tag ändern, das von AndroidStudio unterstützt wird?
Oder ich kann nie Vektorinhalt von dieser SVG-Datei erzeugen? Jede Hilfe oder Anregung wäre sehr willkommen.

    
Phan Van Linh 09.11.2016, 11:17
quelle

2 Antworten

5

Ihr SVG verwendet <linearGradient> und verwendet einen SVG-Filter ( <filter> ), um einen schwachen Schatten zu erzeugen. Keine davon wird von VectorDrawables unterstützt. Also jede Lösung würde beinhalten, diese zu entfernen.

Es sieht so aus, als ob die Datei in Sketch erstellt wurde. Sie können versuchen, diese Elemente in Sketch zu entfernen und den Import erneut zu versuchen.

Wenn das immer noch nicht funktioniert, müssen Sie möglicherweise das andere Element, das nicht vom Importeur unterstützt wird, manuell reparieren: <use> . Die gute Nachricht ist, dass es einfach ist, zu arbeiten.

Ich habe eine manuell bearbeitete Version der Datei darunter eingefügt, die diese drei Probleme behebt. Es sollte in Android Studio ok importiert werden, aber ich weiß nicht ob es deinen ästhetischen Ansprüchen entspricht oder nicht.

%Vor%
    
Paul LeBeau 09.11.2016, 11:46
quelle
10

Ich hatte das selbe Problem, als ich svg direkt von der Skizze in das Android-Studio importierte. Ich benutzte dieses Werkzeug , um es zu konvertieren um zu zeichnen und dann zu importieren.

    
coderindigo 15.08.2017 14:40
quelle