O Glide tem um método para carregar PNG e SVG?
estou a usarDeslizar carregar algumas imagensassincronamente em alguns dos meusImageView
s, e eu sei que ele pode lidar com imagens comoPNG
ouJPG
como ele pode lidarSVG
.
A coisa é, até onde eu sei, a maneira como carrego esses dois tipos de imagem difere. Gostar:
Carregando imagens "normais"
Glide.with(mContext)
.load("URL")
.into(cardHolder.iv_card);
Carregando 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);
E se eu tentar carregar o SVG com o primeiro método, ele não funcionará. Se eu tentar lo, ad PNG ou JPG com o segundo método, também não funcionará.
Existe uma maneira genérica de carregar os dois tipos de imagem usando o Glide?
O servidor de onde estou buscando essas imagens não informa o tipo de imagem antes de fazer o download. É um servidor REST e o recurso será recuperado de uma maneira como"http://foo.bar/resource"
. A única maneira de conhecer o tipo de imagem é lendo a resposta HEAD.