2010-04-05 81 views
0

我有以下的代码来创建和ActionScript 3中在ActionScript 3

public class MyCustomTextArea extends TextArea 
{ 
    override protected function createChildren():void 
    { 
    super.createChildren(); 
    this.styleSheet.setStyle("sup", { display: "inline", fontFamily: "ArialSup", fontSize:"12"}); 
    this.styleSheet.setStyle("sub", { display: "inline", fontFamily: "ArialSub", fontSize:"12"}); 
    this.setStyle("fontFamily", "Arial"); 
    } 
} 

申请几个风格自定义文本区域定制文本区域应用样式,我有两个问题与此代码。

当我创建类的实例时,this.styleSheet始终为空。如果将this.styleSheet初始化为新的StyleSheet()以避免此问题,那么TextArea实例似乎无法识别可以与htmlText属性一起使用的任何HTML标记。

任何人都可以帮助解决这两个问题?谢谢。

回答

2

首先 - 默认情况下TextArea组件的styleSheet属性为null - 您看到的是预期的行为。

你也在用一种不寻常的方式创建你的css样式表 - 也许这是你的问题来自哪里?我会尝试加载或定义内联样式表以应用于您的文本区域。这里有一个加载和应用样式表的例子:http://blog.flexexamples.com/2008/03/22/applying-a-cascading-style-sheet-to-a-textarea-control-in-flex/

另外,什么是ArialSub和ArialSup?如果这些不是有效的字体名称,flex将不会识别它们并使用它们。

+0

字体嵌入在我的应用程序中,并且已知可以正常工作。所以这不是问题。将尝试在该示例中的解决方案,看看。谢谢! – 2010-04-05 17:46:40

+0

得到我的代码工作,如示例中所示。非常感谢! – 2010-04-06 16:20:07