2017-05-31 2 views
0

Ich mag ein svg Bild in meiner Anwendung einzufügen, damit ich in Youtube sah am folge ich diesem Tutorial:Wie lege ich eine SVG-Datei in deine App?

https://www.youtube.com/watch?v=S65WtImJOvI

ich ein Verzeichnis mit dem Namen roh, ich herunterladen svg-Android. Glas und fügte ich die folgenden Zeilen in meinem MainActivity.java:

 ImageView imageView = new ImageView(this); 
     imageView.setBackgroundColor(Color.WHITE); 
     SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android); 
     imageView.setImageDrawable(svg.createPictureDrawable()); 
     setContentView(imageView); 

Das svg Bild android.svg. Aber als ich versuchte, mit einem Emulator zu kompilieren und auszuführen, stürzte es ab! Die App öffnet nicht!

Also, muss ich etwas in der activity_main.xml tun?

Was denken Sie darüber?

Vielen Dank!

+0

Können Sie die Protokolle einfügen? – SimplyJaymin

+0

Möchten Sie nur Svg-Bilder wie 'ImageViews' anzeigen lassen? – aborocz

+0

Wenn Sie Fragen zu stackoverflow stellen, fragen Sie sich immer: "Habe ich genug Informationen zur Verfügung gestellt, damit jemand herausfinden kann, was falsch ist?" In diesem Fall wäre die Antwort "Nein. Vielleicht sollte ich den Stack-Trace mindestens posten" – Dbl

Antwort

0

Der einfachere Weg besteht darin, Ihr SVG in ein XML-Vektorbild umzuwandeln (z. B. mit this website). Dann können Sie es fast wie eine Standard-Ressource zeichnen. Zum Beispiel müssen Sie in Ihrem XML-Layout auf einem ImageView app:srcCompat anstelle von android:src verwenden.

Sie müssen möglicherweise auch vectorDrawables.useSupportLibrary = true in Ihrer Gradle-Datei hinzufügen.

+0

Bitte beachten Sie, dass ** SVG! = VectorDrawable **. Letzterer stammt aus ersterem, stellt aber nur eine ** begrenzte Teilmenge davon dar. –

+0

@Rotwang Sie scheinen die gleiche Antwort vor 2 Jahren auf diesen Beitrag gegeben haben (https://Stackoverflow.com/q/31926212/1827254), können Sie bitte einen Link entwickeln oder teilen, wie ich daran interessiert bin, mehr darüber zu wissen ? – Eselfar

+0

Dies ist nicht und es war keine Antwort. Nur ein Kommentar (noch gültig). Commonsware hat geantwortet. Sie können googlen für Svg-Dateiformat und sehen, wie viel komplexer es in Bezug auf VectorDrawables ist. –

0

Standard Android ImageView unterstützt keine SVG-Dateien. Sie können eine benutzerdefinierte Bibliothek einschließen, um diese Operation durchzuführen.

Dies ist eine wundervolle Bibliothek, die ich bisher benutzt habe: https://github.com/Pixplicity/sharp

0

Einfach,

es

hinzufügen Ähnliche und Image

innerhalb von

app:srcCompat="@drawable/ic_person_outline_black_24dp"

enter image description here enter image description here

verwenden
Verwandte Themen