2016-09-23 10 views

答えて

1

として表示あなたは、古いデバイス上VectorDrawablesをサポートする必要がありますか?もしそうなら、私はそれが現在可能であるとは思わない。 AFAIKサポートライブラリでは、VectorDrawableがリソースの場合(つまり、setImageResource()を介して)、VectorDrawableを割り当てることができます。

http://android-developers.blogspot.co.nz/2016/02/android-support-library-232.html

の代替ではなくSVGsを使用して、AndroidのためのSVGライブラリのいずれかを使用することであろう。

ただし、Lollipop以上をサポートする必要がある場合は、以下の手順を使用する必要があります。私は自分でそれを試していませんが。

まず、VectorDrawableファイルをStreamとしてフェッチします。一例として、this questionを参照してください。

XmlPullParserインスタンスを作成する必要があります。その後

xppXmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
XmlPullParser xpp = factory.newPullParser(); 

次にあなたがinflate()を呼び出すことによってVectorDrawableを取得することができますストリームについて

xpp.setInput(input, null); 

をパーサーに伝えます。パーサーインスタンスに渡します。

VectorDrawable vd = new VectorDrawable(); 
vd.inflate(getResources(), xpp, null, null); 

次に、DrawableをImageViewに割り当てることができるはずです。

幸運!