2017-12-21 7 views

答えて

2

何も表示さいけないし私はこれを行う:

最初に、ImageView SVGを直接サポートしていません。

第2に、コードがSVGファイルではなくPNGファイルを読み込んでいるようです。

第3に、file:///android_asset/WebViewです。 Android SDKの他の場所では動作しません。

イメージローダーとしてGlideを使用するように切り替えることを検討してください。それはfile:///android_asset/を処理し、SVGファイルをトランスコードするためのサンプルコードを持っています。さらに、バックグラウンドスレッドでイメージを読み込む作業を行います。

それ以外の場合は、AssetManagerとそのopen()メソッドを使用して、アセットにInputStreamを取得することができます。そのアセットがPNG、JPEG、またはWebPファイルの場合は、BitmapFactory.decodeStream()を使用してストリームを読み込んで、ImageViewに使用できるBitmapを返すことができます。 SVG資産で何かをするには、サードパーティのライブラリが必要です。そして、バックグラウンドスレッドでこの作業を手配する必要があります。そうしないと、UIがフリーズし、ユーザーがあなたのアプリが止まっていると思うようになります。

+0

SVGをAndroid XMLに変換すればいいですか? –

+1

@ ArMo372:あなたはそれが何を意味するかはっきりしていません。ベクター・ドロワーブルXMLを作成するためにAndroid Studioのベクター・アセット・ウィザードを使用することを意味する場合は、アセットからロードすることは一度もありません。これは確かに 'drawable'リソースとして機能します。 – CommonsWare

関連する問題