如何在flex中使用上标?

时间:2011-01-05 06:44:18

标签: flex actionscript-3

我想在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

2 个答案:

答案 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和信息。差异是

  • 我取出了TextFlow标记,但留在HTML中;
  • importFromString而不是importFromXML;和
  • 我添加了this.addElement(richText)来显示元素。