我的SVG文件中有这一行:
<text id="region1Text" class="regionText" x="77" y="167">2</text>
我可以用这个获得Text类的对象,但我看不到任何可用的方法将“2”改为另一个数字。 appendText方法似乎什么都不做,我看到没有“setText”方法。
我的代码:
StringReader reader = new StringReader(svgInString);
uri = SVGCache.getSVGUniverse().loadSVG(reader, "myImage");
SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram(uri);
Text text = (Text) diagram.getElement("region1Text");
text.appendText("20");
调试时我可以看到文本对象的内容变量设置为“2”(所以我认为文本元素是正确的)但是我无法改变它。
答案 0 :(得分:0)
在附加文本后,您必须使用text.rebuild()
功能。总的来说它看起来像这样:
StringReader reader = new StringReader(svgInString);
uri = SVGCache.getSVGUniverse().loadSVG(reader, "myImage");
SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram(uri);
Text text = (Text) diagram.getElement("region1Text");
text.appendText("20");
text.rebuild();