我想在flex中添加一个标签来显示m / s2(读取每秒平方米)。我需要为此使用上标。
我已经尝试了以下代码,它给了我一个编译错误。
var richtxt1:RichText = new RichText();
richtxt1.text="m/s";
var richtxt2:RichText = new RichText();
var span:SpanElement = new SpanElement();
span.text = "2";
span.baselineShift = "superscript";
richtxt2.addChild(span);
richtxt1.text=rixhtxt1.txt + richtxt2.text
我收到了行richtxt2.addChild(span)
错误是
Implicit coercion of a value of type flashX.textLayout.elements.SpanElement
to unrelated type flash.Display.DisplayObject
答案 0 :(得分:1)
我认为你应该做这样的事情
var xmlText:String = "<TextFlow xmlns='http://ns.adobe.com/textLayout/2008'>" +
"m/s <span baselineShift='superscript'>2</span>" +
"</TextFlow>";
var txtFlow:TextFlow = TextFlowUtil.importFromXML(xmlText);
var richTxt:RichText = new RichText();
richtxt.textFlow = txtFlow;
我没有测试过,所以请原谅我有任何编译错误。
答案 1 :(得分:0)
这是我在iPad应用中用来完成上述操作的代码:
var xmlText:String = "m/s <span baselineShift='superscript'>2</span>";
var txtFlow:TextFlow = TextFlowUtil.importFromString(xmlText);
var richTxt:RichText = new RichText();
richTxt.textFlow = txtFlow;
this.addElement(richTxt);
它基于我从Adobe's website找到的kaychaks和信息。差异是