android:从网络加载svg文件并将其显示在图像视图上

2023-12-22

我想从网络加载 svg 文件并在 ImageView 中显示该文件。对于非矢量图像我使用Picasso http://square.github.io/picasso/图书馆。

是否也可以将此库用于 svg 文件?
有没有办法从网络加载 svg 文件并将其显示在 ImageView 中?
我用svg-android https://code.google.com/p/svg-android/库来显示 svg 文件,但我不知道如何从网络获取 svg 图像,该库的所有示例都使用本地文件。


更新:对于新版本,请查看 Glide 示例 (https://github.com/bumptech/glide/tree/master/samples/svg https://github.com/bumptech/glide/tree/master/samples/svg)

-

您可以使用滑行(https://github.com/bumptech/glide/tree/v3.6.0 https://github.com/bumptech/glide/tree/v3.6.0) 和 AndroidSVG (https://bitbucket.org/paullebeau/androidsvg https://bitbucket.org/paullebeau/androidsvg).

还有一个来自 Glide 的示例:https://github.com/bumptech/glide/tree/v3.6.0/samples/svg/src/main/java/com/bumptech/svgsample/app https://github.com/bumptech/glide/tree/v3.6.0/samples/svg/src/main/java/com/bumptech/svgsample/app

设置 GenericRequestBuilder

requestBuilder = Glide.with(mActivity)
    .using(Glide.buildStreamModelLoader(Uri.class, mActivity), InputStream.class)
            .from(Uri.class)
            .as(SVG.class)
            .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
            .decoder(new SvgDecoder())
                    .placeholder(R.drawable.ic_facebook)
                    .error(R.drawable.ic_web)
            .animate(android.R.anim.fade_in)
            .listener(new SvgSoftwareLayerSetter<Uri>());

将 RequestBuilder 与 uri 一起使用

Uri uri = Uri.parse("https://de.wikipedia.org/wiki/Scalable_Vector_Graphics#/media/File:SVG_logo.svg");
            requestBuilder
                    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                            // SVG cannot be serialized so it's not worth to cache it
                    .load(uri)
                    .into(mImageView);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android:从网络加载svg文件并将其显示在图像视图上 的相关文章

  • 即使我单击“运行”,Eclipse 也会运行调试模式

    Eclipse 总是在调试模式下启动我的应用程序 即使我单击常规的 运行 按钮 有任何想法吗 我发现我必须重新启动 Xoom 才能使其再次正常工作
  • 无法获取项目的未知属性“assembleRelease”

    将 Android Studio 更新到版本 2 2 并将 gradle 插件更新到 2 2 0 后 出现以下错误 错误 32 1 评估项目 jobdispatcher 时出现问题 无法获取 org gradle api Project 类
  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • Android Studio Canary 3.4 Canary 4:错误:功能插件不支持variant.getApplicationId()

    自从我在新版本上更新了我的项目以来Android Studio 3 4 金丝雀 4 gradle 同步失败 因为 ERROR variant getApplicationId is not supported by feature plug
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • 在 Android 中使用 awt

    我有一个绘制图表的 Java Swing 应用程序 它使用 Graphics2D 调用和 awt 对象 例如 Rectangle 等 在某些时候我可能想将其移植到 Android 上 我知道我无法在 Android 上使用 Graphics
  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 突出显示列表视图项目

    我需要在触摸列表视图项目时突出显示它并保持突出显示状态 我尝试了我发现的一切 但没有任何效果 这是我的代码 这是列表视图
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • 在 Android 中使用 AES 加密的最佳实践是什么?

    我为什么问这个问题 我知道人们对 AES 加密存在很多疑问 即使对于 Android 也是如此 如果您在网络上搜索 会发现很多代码片段 但在每个页面上 在每个 Stack Overflow 问题中 我都发现了另一个具有重大差异的实现 所以我
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • foo.setVisibility(View.GONE) 和parent.removeView(foo) 之间的区别

    如果 foo 是一个视图 那么有什么区别foo setVisibility View GONE and fooParent removeView foo 我对两个语句之前和之后视图的内存消耗特别感兴趣 可见性设置为 GONE 的视图是否会消
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • 将文本插入现有/外部 Draftjs 文本字段

    我正在开发一个需要将文本插入到contenteditable true div a Draftjs准确地说 基于文本字段 现在我知道 Draft js 使用 React 并且应该以这种方式使用 但在这种情况下 该应用程序已经存在 并且这是与
  • Angular 2 中的多个模块

    我有一个 Angular 2 应用程序 RC7 它最初是作为单个组件 但很快就以各种不同 有时完全不相关 的方式在整个项目中使用 其结果是 单个NgModule引导所有组件似乎是一个糟糕的主意 并且有大量的膨胀 我正在努力寻找一种拥有多个模
  • Azure Cosmos DB 使用基于角色的访问控制读取数据

    我在 Azure 中有一个 CosmosDB 我想授予用户读取各种集合内的数据的权限 我尝试给他们 读者 角色 这让他们知道存在 CosmosDB 并且他们可以看到一些元数据 但他们无法访问其中的数据 我为他们分配了 Cosmos DB 帐
  • Bash:有任何命令可以替换文本文件中的字符串吗?

    我有一个包含许多文本文件的目录层次结构 我想在每次特定的文本字符串出现在其中一个文件中时搜索它 并将其替换为另一个字符串 例如 我可能想将每次出现的字符串 Coke 替换为 Pepsi 有谁知道如何做到这一点 我想知道是否有某种 Bash
  • Angular 2 路由器 - CanActivate Guard

    我正在实现 CanActivate 防护 以便在用户会话无效时将用户重定向到登录页面 关于会话是否有效的检查是通过服务完成的 因此我从警卫那里订阅服务调用以获取会话有效性状态 我已经调试了代码 一切似乎都正常工作 事实上 当会话无效时 应用
  • 使用另一个文件中的行范围替换单独文件中字符串中出现的每 2 个 n

    我有三个文件 0 txt e 0 1 txt具有以下相同内容 sun t car snif house group tree home cool t machine shoes shirt shop t car snif house gro
  • 在设备上安装 Windows Phone 应用程序的不同方法

    我开发了一个Windows Phone 8应用程序 我有一个开发者帐户和解锁的设备 现在我可以通过 Windows Phone 开发 sdk 在我的手机中部署 安装应用程序 现在我想在另一个设备上安装这个应用程序 我朋友的设备 他在不同的位
  • 如何在 Netbeans 中打开“项目”面板

    在 Netbeans 中 代码所在的左上角曾经有两个面板 一个称为 项目 您可以在其中单击项目名称以打开其中所有目录和文件的树 然后可以双击一个文件来编辑它 下面是导航面板 显示您正在查看的文件中包含的类名称 方法等 我不小心单击了项目面板
  • 无法在 Kotlin 中构建发布版本

    将我的 Android 项目转换为 Kotlin 后 我无法构建发布版本 该错误似乎与 Proguard 有关 我看到 155 个警告 例如 Warning com example app activity MainActivity 1 c
  • iOS 11 navigationItem.titleView 宽度未设置

    在 iOS11 上使用 navigationItem titleView 查看行为 其中 titleView 的宽度不是屏幕的完整宽度 我有一个设置为 titleView 的自定义视图 在 iOS11 之前 视图将填充导航栏区域 但 iOS
  • NSDateFormatter “月份”的 3 个字母而不是完整的单词

    NSDateFormatter formatter NSDateFormatter alloc init formatter setDateFormat dd MM YYYY HH mm formatter setTimeZone NSTi
  • 将某个 JSON 值映射到 Enum 值 C#

    我正在为 Stack Exchange API 创建类 这过滤器对象 https api stackexchange com docs types filter类型包含成员filter type这将是safe unsafe or inval
  • 如何在 capistrano 部署中管理捆绑的 gem?

    目前 我只是运行以下命令 在 部署 update code 部署 bundle 之后 namespace deploy do task bundle do run cd release path bundle install deploym
  • Git 忽略本地删除的文件夹

    我有一个 Ruby on Rails 应用程序 当它崩溃时vendor rails存在 但如果不存在则工作正常 我需要将此文件夹保留在我的本地副本中 以便我可以工作 但我不希望提交此删除操作 有人把它放在那里是有原因的 那么如何删除这个文件
  • 更复杂(现实生活中)的模型绑定?

    跟我一起想象一下下面的例子 Public ViewResult GiveMeFruit int personId string personName int personAge int fruitId Person person Perso
  • 十六进制数的正则表达式?

    如何创建检测文本中的十六进制数字的正则表达式 例如 0x0f4 0acdadecf822eeff32aca5830e438cb54aa722e3 和 8BADF00D 下面的怎么样 0 xX 0 9a fA F 匹配以 0 开头 后跟小写或
  • 无法对所有 bing API 结果进行分页

    我目前正在使用必应网络搜索 API v7 https learn microsoft com en us rest api cognitiveservices bing web api v7 reference查询 Bing 的搜索结果 根
  • Perl 的“not”运算符未按预期与 Defined() 函数配合使用

    以下代码片段未按预期工作 k foo 1 k bar 2 if not defined k foo not defined k bar print Not defined n else print Defined 由于 k foo 和 k
  • “重建解决方案”编译成功的解决方案中的网站无法启动调试器

    我有一个包含网站的解决方案 使用网站模板而不是 Web 应用程序项目模板创建 顺便说一句 转换不是一个选项 当我重建所有内容时 编译成功 但奇怪地显示 3 个错误 所有这些错误都是 无法获取项目引用 PROJNAME 的依赖项 当我尝试启动
  • android:从网络加载svg文件并将其显示在图像视图上

    我想从网络加载 svg 文件并在 ImageView 中显示该文件 对于非矢量图像我使用Picasso http square github io picasso 图书馆 是否也可以将此库用于 svg 文件 有没有办法从网络加载 svg 文