从Android中的Web或本地缓存加载.svg文件

问题描述 投票:1回答:1

我正在使用Glide异步加载.png图像。

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

[在.svg的情况下,已创建文件,但未将其加载到ImageView中。

android svg android-glide androidsvg
1个回答
1
投票

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;
© www.soinside.com 2019 - 2024. All rights reserved.