Hat Glide eine Methode zum Laden von PNG und SVG?

Ich benutzeGleite um einige Bilder zu laden asynchron in einige meinerImageViews, und ich weiß, dass es mit Bildern wie @ umgehen kaPNG oderJPG wie es kannSVG.

Thing ist, soweit ich weiß, die Art und Weise, wie ich diese beiden Arten von Bildern lade, unterschiedlich. Mögen

Laden von "normalen" Bildern

Glide.with(mContext)
                .load("URL")
                .into(cardHolder.iv_card);

Laden von SVG

GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder = Glide.with(mContext)
        .using(Glide.buildStreamModelLoader(Uri.class, mContext), InputStream.class)
        .from(Uri.class)
        .as(SVG.class)
        .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
        .sourceEncoder(new StreamEncoder())
        .cacheDecoder(new FileToStreamDecoder<>(new SVGDecoder()))
        .decoder(new SVGDecoder())
        .listener(new SvgSoftwareLayerSetter<Uri>());

requestBuilder
        .diskCacheStrategy(DiskCacheStrategy.NONE)
        .load(Uri.parse("URL"))
        .into(cardHolder.iv_card);

Und wenn ich versuche, SVG mit der ersten Methode zu laden, funktioniert es nicht. Wenn ich versuche, PNG oder JPG mit der zweiten Methode zu laden, funktioniert das auch nicht.

Gibt es eine generische Möglichkeit, beide Bildtypen mit Glide zu laden?

Der Server, von dem ich diese Bilder abrufe, teilt mir den Bildtyp nicht mit, bevor ich ihn herunterlade. Es handelt sich um einen REST-Server, und die Ressource wird auf eine Weise wie @ abgerufe"http://foo.bar/resource". Die einzige Möglichkeit, den Bildtyp zu ermitteln, besteht darin, die HEAD-Antwort zu lesen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage