我想在图像视图或网页视图中显示.svg文件。我不知道哪一个更适合这个目的,我想要一些关于这个问题的意见。
记住,我没有编译时的文件,所以我不能在Android Studio中使用VectorDrawable API21方法,尽管我可以使用这个类,如果它有帮助的话。
首先,我需要搜索文件系统(私有应用程序存储)中是否没有存储.svg,如果没有找到,我必须下载并将其保存在文件系统中。我将使用OkHTTP从网络上下载并保存文件。
我已经在这个项目上滑行,如果这个关于显示.svg的帮助我想要建议,因为我从来没有使用滑行与.svg工作。
对于这种问题,我应该使用像svg-android这样的旧库吗?我不知道他们是否还可靠。
发布于 2017-08-22 02:05:27
您可以将Glide用于svg图像。创建requestBuilder:
GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder = Glide.with(this)
.using(Glide.buildStreamModelLoader(Uri.class, this), 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(svgUrl)).into(imageView);
请参见this示例。
像这样创建svgUrl:
String fileName = "name.jpg";
String path = Environment.getExternalStorageDirectory() + "/" + fileName;
File file = new File(path);
Uri svgUrl = Uri.fromFile(file);https://stackoverflow.com/questions/45801790
复制相似问题