Android アプリで VectorDrawables を使用しようとしています。
ファイル システムから xml ファイルをロードし、 のインスタンスを取得して .xml ファイルandroid.graphics.Drawable
に表示したいと考えていますImageView
。xml ファイルを Resources ディレクトリに追加すると、機能します。しかし、ファイルシステムからロードしようとすると、常に NullPointer が発生します。
Drawable.createFromPath(*Path to File*)
現在、またはを介してファイルを読み込もうとしています
VectorDrawable.createFromPath(*Path to File*)
が、NullPointer が引き続き発生します。ファイルが存在し、有効な xml ファイルです (以下を参照)。
adb ログでは、常に次のようになります。
SkImageDecoder::Factory returned null
パスを使用する mContext.getFilesDir()
と、次のようになります
/data/data/*packagename*/files/*filename*.xml
「ダウンロード」などのパブリックフォルダーも試しました。File.io Apiでファイルをチェックするとexists()
、canRead()
canWrite()
更新これは、Android Dev Pages から取得した XML コードです
<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>