Android:向 svg 添加一个新元素不是动态工作,而是手动工作

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

我有一个很大的 svg 文件,我从资产中读取它作为字符串并注入到 Webview 中。我需要向这个 svg 添加新元素。我的策略是用新元素的内容替换最后的

</svg>
。最后,我有这样的结构

<svg>     
   content1
   content2
</svg>

不幸的是,它不起作用,无法看到

content2
,即使在删除所有不良字符后也是如此。但是,当我登录新的 svg 并在线测试时,我可以看到这两个内容。怎么可能? 这是我的代码

将 svg 检索为字符串

val inputStream = context.assets.open("mydoc.svg")
appViewModel.updateSvgMap(inputStream.bufferedReader().use(BufferedReader::readText))

然后

webview.loadData(appUiState.svgContent, "text/html", "utf-8")
最后,新内容就这样添加了

 svgContent= svgContent.substring(0, content.indexOf("</svg>")) + newSvgContent

你有什么建议吗?我的印象是字符串的操作不是一个好的选择,但为什么呢?

谢谢

android svg android-webview
© www.soinside.com 2019 - 2024. All rights reserved.