Does Glide have a method for loading both PNG and SVG?

后端 未结 7 1584
终归单人心
终归单人心 2020-11-29 06:34

I\'m using Glide to load some images asynchronously into some of my ImageViews, and I know it can handle images like PNG or

7条回答
  •  生来不讨喜
    2020-11-29 07:19

    You can use Glide & AndroidSVG together to achieve your goal.

    There is sample from Glide for SVG.Sample Example

    Setup RequestBuilder

    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(new SvgDecoder()))
        .decoder(new SvgDecoder())
        .placeholder(R.drawable.ic_facebook)
        .error(R.drawable.ic_web)
        .animate(android.R.anim.fade_in)
        .listener(new SvgSoftwareLayerSetter());
    

    Use RequestBuilder with uri

    Uri uri = Uri.parse("http://upload.wikimedia.org/wikipedia/commons/e/e8/Svg_example3.svg");
    requestBuilder
        .diskCacheStrategy(DiskCacheStrategy.SOURCE)
        // SVG cannot be serialized so it's not worth to cache it
        .load(uri)
        .into(mImageView);
    

    This way you can achieve your goal. I hope this is helpful.

提交回复
热议问题