8

Android は SVG をサポートしていますが、なぜ VectorDrawable に変換する必要があるのでしょうか?

このコード例は、Android での SVG を示しています。

SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android);
imageView.setImageDrawable(svg.createPictureDrawable());
4

2 に答える 2

7

あなたが言及した SVGParser 機能は、Android 用の SVG サポートのサードパーティ実装です。

Android で SVG を使用する際の主な問題は次のとおりです。

  • SVG ファイルは非常に複雑な場合があり、レンダリングが非常に遅くなる可能性があります

  • 私が使用したすべてのサードパーティの実装にはバグがあり、一部の SVG ファイルを正しくロードまたはレンダリングできませんでした。

  • サードパーティの実装のほとんどは放棄されており、積極的に維持されているものはないようです

Android での SVG ファイルの使用と利用可能なサードパーティ ライブラリについては、次の記事で詳しく説明しています。

https://androidbycode.wordpress.com/2015/02/27/vector-graphics-in-android-part-1-svg/

VectorDrawable は、レンダリングが高速になるように設計された SVG 形式のサブセットをサポートします。私は VectorDrawable と、既存の SVG ファイルを VectorDrawable に変換する方法についてここに書いています。

于 2015-08-11T11:31:59.623 に答える
2

Android は SVG をサポートしていますが、

WebViewいいえ、サードパーティの SVG レンダリング ライブラリを使用する場合を除き、そうではありません。

SVG を VectorDrawble に変換する必要があるのはなぜですか?

WebViewまたはサードパーティの SVG レンダリング ライブラリを介して SVG ファイルを表示することは大歓迎です。VectorDrawableオプションです。それは要件ではありません。

このコード例は、Android での svg を示しています。

SVGParserAndroid SDK にはクラスがありません。

于 2015-08-10T18:12:58.317 に答える