Ich versuche VectorDrawables in meiner Android App zu verwenden.
Ich möchte eine XML-Datei aus dem Dateisystem laden und eine Instanz von android.graphics.Drawable
erhalten, um es in einem ImageView
anzuzeigen. Wenn ich die XML-Datei zum Ressourcenverzeichnis hinzufüge, funktioniert es. Aber wenn ich versuche, es aus dem Dateisystem zu laden, bekomme ich immer einen NullPointer.Ist es möglich, ein VectorDrawable aus dem Dateisystem (* .xml Datei) zu erstellen
Ich versuche gerade, die Datei über Drawable.createFromPath(*Path to File*)
oder VectorDrawable.createFromPath(*Path to File*)
zu laden, aber ich bekomme immer einen NullPointer. Die Datei existiert und ist eine gültige XML-Datei (siehe unten).
In adb log ich erhalte immer:
SkImageDecoder::Factory returned null
Wenn ich mContext.getFilesDir()
der Pfad sieht aus wie
/data/data/*packagename*/files/*filename*.xml
Ich habe versucht, auch einige öffentliche Ordner wie "Downloads". Wenn ich die Datei mit dem File.io Api überprüfen exists()
es, canRead()
und canWrite()
aktualisieren Die Übersicht zeigt die XML-Code aus dem Android Dev Seiten genommen
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group
android:name="rotationGroup"
android:pivotX="300.0"
android:pivotY="300.0"
android:rotation="45.0" >
<path
android:name="v"
android:fillColor="#000000"
android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
Können Sie den Code Ihrer XML-Datei posten? – Kmeixner