34

Web から svg ファイルを読み込み、このファイルを ImageView に表示したいと考えています。ベクター以外の画像については、Picassoライブラリを使用します。

このライブラリを svg ファイルにも使用できますか?
Web から svg ファイルを読み込んで ImageView に表示する方法はありますか? svg-android
ライブラリ を使用してsvg ファイルを表示していますが、Web から svg 画像を取得する方法がわかりません。このライブラリのすべての例では、ローカル ファイルを使用しています。

4

8 に答える 8

45

更新: 新しいバージョンについては、Glide Samples ( https://github.com/bumptech/glide/tree/master/samples/svg )をチェックしてください。

-

Glide ( https://github.com/bumptech/glide/tree/v3.6.0 ) と AndroidSVG ( https://bitbucket.org/paullebeau/androidsvg ) を使用できます。

Glide のサンプルもあります: https://github.com/bumptech/glide/tree/v3.6.0/samples/svg/src/main/java/com/bumptech/svgsample/app

GenericRequestBuilder のセットアップ

requestBuilder = Glide.with(mActivity)
    .using(Glide.buildStreamModelLoader(Uri.class, mActivity), InputStream.class)
            .from(Uri.class)
            .as(SVG.class)
            .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
            .decoder(new SvgDecoder())
                    .placeholder(R.drawable.ic_facebook)
                    .error(R.drawable.ic_web)
            .animate(android.R.anim.fade_in)
            .listener(new SvgSoftwareLayerSetter<Uri>());

uri で RequestBuilder を使用する

Uri uri = Uri.parse("https://de.wikipedia.org/wiki/Scalable_Vector_Graphics#/media/File:SVG_logo.svg");
            requestBuilder
                    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                            // SVG cannot be serialized so it's not worth to cache it
                    .load(uri)
                    .into(mImageView);
于 2015-06-19T12:24:44.150 に答える
2

このライブラリを使用できます

https://github.com/2coffees1team/GlideToVectorYou

彼が言うように:「ライブラリは Glide に基づいており、同じ機能 + svg サポートを提供します」。

于 2019-01-19T21:59:43.513 に答える