0

我的 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”(所以我认为文本元素制作正确)但我无法更改它。

4

1 回答 1

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();
于 2016-04-05T09:41:16.130 回答