Apache flex 如何使文本类能够接受html文本,并能够计算高度和宽度?

Apache flex 如何使文本类能够接受html文本,并能够计算高度和宽度?,apache-flex,Apache Flex,显示html时,我需要知道文本框的高度,以便正确对齐下面的内容。为了传递html并使其呈现为html,您需要设置htmlText属性而不是text属性。一旦文本框被添加到显示列表中,您就可以像正常情况一样获取其高度。如果您在设置inance.htmlText后立即尝试获取高度和宽度的值,则无法获取容器的计算大小。您可以为FlexEvent.UPDATE\u COMPLETE添加一个事件侦听器,或者强制验证以同步方式进行,并使用getExplicitOrMeasuredHeight()。在强制验证

显示html时,我需要知道文本框的高度,以便正确对齐下面的内容。

为了传递html并使其呈现为html,您需要设置htmlText属性而不是text属性。一旦文本框被添加到显示列表中,您就可以像正常情况一样获取其高度。

如果您在设置inance.htmlText后立即尝试获取高度和宽度的值,则无法获取容器的计算大小。您可以为FlexEvent.UPDATE\u COMPLETE添加一个事件侦听器,或者强制验证以同步方式进行,并使用getExplicitOrMeasuredHeight()。在强制验证时要小心,这是昂贵的,并且在大多数情况下不一定需要这样做。我已经包括了一个使它同步的正确和错误的方法,这在一开始我并不完全清楚

错:

    var container : Box = new Box;
    var text : Text = new Text;
    container.addChild(text);
    text.htmlText = "<b>THIS IS A TEST</b>";
    trace( text.getExplicitOrMeasuredHeight() > 0 ) // False
var容器:Box=newbox;
变量文本:文本=新文本;
container.addChild(文本);
text.htmlText=“这是一个测试”;
跟踪(text.getExplicitOrMeasuredHeight()>0)//False
对:

    var container : Box = new Box;
    var text : Text = new Text;
    container.addChild(text);
    text.htmlText = "<b>THIS IS A TEST</b>";
    text.validateNow(); // Forces the validation methods to run and update the component
    trace( text.getExplicitOrMeasuredHeight() > 0 ) // True
var容器:Box=newbox;
变量文本:文本=新文本;
container.addChild(文本);
text.htmlText=“这是一个测试”;
text.validateNow();//强制验证方法运行并更新组件
trace(text.getExplicitOrMeasuredHeight()>0)//True