Как загрузить файл .svg из Интернета или локального кэша в Android - PullRequest
0 голосов
/ 09 марта 2019

Я использую glide для асинхронной загрузки изображения .png.

File file = Glide.with(context).load(location).downloadOnly(1024, 1024).get();

В случае .svg файл создается, но не загружается на imageView.

1 Ответ

0 голосов
/ 09 марта 2019

ImageView принимает только растровые изображения или VectorDrawables.

SVG не является ни одним из двух, даже если VectorDrawable происходит от него.

Получите PictureDrawable из вашего SVG файла.Затем вам нужно создать Bitmap из размера PictureDrawable и присвоить ему Canvas.

PictureDrawable pictureDrawable = svg.createPictureDrawable();
Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsicWidth(), pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 
canvas.drawPicture(pictureDrawable.getPicture()); 
currentBitmap = bitmap;
...