【问题标题】:Android Glide load the SVG image directly from the stringAndroid Glide 直接从字符串加载 SVG 图像
【发布时间】:2016-11-04 07:21:56
【问题描述】:

我想使用 Glide 在 Android 中加载 svg 图像。事实上 Glide 支持这样的工作,我找到了一个样本https://github.com/bumptech/glide/tree/v3.6.0/samples/svg/src/main/java/com/bumptech/svgsample/app。问题是我想直接从 svg 格式的字符串加载图像,而不是从 svg 文件加载图像。该字符串是从网络接收的或从 sqlite 中选择的。有人能帮我吗?找了很久,好像没有人符合这个要求。

【问题讨论】:

  • svg 格式的字符串?您是否将图像保存为 sqlite 中的 base64 字符串?
  • 我这样保存字符串:w3.org/2000/svg">
  • 它也可以从输入流中读取 svg 吗?
  • 但是输入流意味着您将从文件(本地或网络)中获取 svg。当它保存在数据库中时,我不知道该怎么做。
  • 这就是我解决它的方法with AndroidSVG

标签: android svg android-glide


【解决方案1】:

您的问题不清楚。你还没有那么清楚你被困在哪一部分。

如果您只需要从String 获取InputStream,那么您可以这样做:

InputStream stream = new ByteArrayInputStream(svgString.getBytes(StandardCharsets.UTF_8));

【讨论】:

  • 感谢您的建议!在我的代码中,我首先从 sqlite 或网络加载一些字符串数组(字符串就像我上面评论的那样)。然后我应该解析它们并加载到一些 ImageViews 中。我想使用 Glide 和 Android SVG lib 来完成这项工作,就像我的问题中提到的示例一样。不同的是从文件中加载svg的示例,但是我想直接从接收到的字符串数组中加载svg图像,我不知道如何在Glide中做到这一点。
  • 这对我不起作用 :( 我收到此错误:GlideExecutor: com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders registered for model class: class java.io.ByteArrayInputStream
猜你喜欢
  • 1970-01-01
  • 2018-07-28
  • 2022-11-26
  • 2021-03-30
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2021-07-08
相关资源
最近更新 更多