で資産フォルダからSVG画像を追加する私はこれを行う:、私はGridViewのアダプタからのImageViewのでSVGをロードするアダプタ
imageView.setImageURI(Uri.parse("file:///android_asset/ico/s.svg"));
ではなく、私がしたい仕事と
で資産フォルダからSVG画像を追加する私はこれを行う:、私はGridViewのアダプタからのImageViewのでSVGをロードするアダプタ
imageView.setImageURI(Uri.parse("file:///android_asset/ico/s.svg"));
ではなく、私がしたい仕事と
何も表示さいけないし私はこれを行う:
最初に、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がフリーズし、ユーザーがあなたのアプリが止まっていると思うようになります。
SVGをAndroid XMLに変換すればいいですか? –
@ ArMo372:あなたはそれが何を意味するかはっきりしていません。ベクター・ドロワーブルXMLを作成するためにAndroid Studioのベクター・アセット・ウィザードを使用することを意味する場合は、アセットからロードすることは一度もありません。これは確かに 'drawable'リソースとして機能します。 – CommonsWare