【问题标题】:How can i change fill color of a vector file fetched from server in android?如何更改从 android 中的服务器获取的矢量文件的填充颜色?
【发布时间】:2021-10-15 13:10:33
【问题描述】:

我是否可以通过单击从服务器获取的特定路径来访问矢量文件的元素,例如填充颜色。我正在从服务器获取整个矢量文件。我尝试了很多库,包括RichPathVectorChildFinderAndroidSVG,但它们需要一个存储在 res 文件夹中的矢量文件。将所有文件保留在 res 文件夹中是不可行的,因为有很多文件。 我所取得的成就是我可以将其解析为 imageview 但无法访问其中的元素。

谢谢。

【问题讨论】:

    标签: android xml android-layout svg android-vectordrawable


    【解决方案1】:

    我不知道其他的,但 AndroidSVG 不要求文件位于 res 或 assets 文件夹中。该库不包含任何从 URL 获取的方法,但您始终可以自己获取文件,然后使用 SVG.getFromString(fetchedSVGData)

    如果您不想自己处理获取,可以使用 Glide 之类的库。它有一个example of how to fetch SVGs and display with AndroidSVG

    要为 SVG 着色,只需使用 AndroidSVGs 在渲染时传递 CSS 样式表的能力。

    【讨论】:

    • 感谢您的帮助,但我也想让文件中的元素保持可点击状态。我正在开发一个会议室预订应用程序,我想向用户显示平面图(这是一个来自服务器的 svg 文件),以便用户可以选择椅子并在选择时更改椅子的颜色。
    猜你喜欢
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多