2017-05-31 5 views
0

私はYouTubeの中を探したので、私のアプリでのSVG画像を挿入したいANS私はこのチュートリアルに従う:アプリにsvgファイルを入れるには?

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

私は生の名前でディレクトリを作成し、私はSVG-アンドロイドダウンロードしてください。 jarと私は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); 

svgの画像はandroid.svgです。しかし、エミュレータでコンパイルして実行しようとすると、クラッシュします。アプリが開かない!

だから、activity_main.xmlで何かする必要がありますか?

あなたはこれについてどう思いますか?

ありがとうございました!

+0

ログを貼り付けることはできますか? – SimplyJaymin

+0

'ImageViews'のようにsvgイメージを表示したいだけですか? – aborocz

+0

stackoverflowに質問を投稿するときには、常に「誰かが何が間違っているか把握するための十分な情報を提供しましたか?この場合、答えは "いいえ、スタックトレースを少なくとも投稿するべきかもしれません" – Dbl

答えて

0

簡単な方法は、SVGをXMLベクトル画像に変換することです(たとえば、this websiteを使用)。 それから、あなたは標準的なリソースドロワブルのように使うことができます。 たとえば、xmlレイアウトのImageViewでは、android:srcの代わりにapp:srcCompatを使用する必要があります。

あなたのgradleファイルにvectorDrawables.useSupportLibrary = trueも追加する必要があります。

+0

** SVG!= VectorDrawable **に注意してください。後者は前者から派生していますが、**限定された部分集合**しか表していません。 –

+0

@Rotwangあなたは2y前にこの記事(https://stackoverflow.com/q/31926212/1827254)に同じ回答を与えたようですが、私はそのことについてもっと知りたいと思っているので、リンクを開発したり共有したりできますか? ? – Eselfar

+0

これはそうではなく、答えではありませんでした。ちょうどコメント(まだ有効)。 Commonswareが答えました。あなたはsvgファイルフォーマットのためにgoogleすることができ、それがVectorDrawablesに関してどれほど複雑であるかを見ることができます。 –

0

デフォルトAndroid ImageViewはSVGファイルをサポートしていません。この操作を実行するカスタムライブラリを含めることができます。

これは私がこれまで使用してきたのwonderfullライブラリです:https://github.com/Pixplicity/sharp

0

簡単、

このようにそれを追加し、ImageViewの

app:srcCompat="@drawable/ic_person_outline_black_24dp"

enter image description here enter image description here

の内部で使用
関連する問題