AS3是一种获取TextField当前大小的方法吗?

时间:2010-07-14 17:57:32

标签: actionscript-3

我很想知道是否有人知道如何获得文本字段的当前大小?

2 个答案:

答案 0 :(得分:4)

通常,当前位置,宽度和高度存储在:

textfield.x
textfield.y
textfield.width
textfield.height

虽然它可能不会被设置,直到它位于与舞台连接的某个位置。否则,它还没有弄清楚它有多大,以防它需要挤进一个较小的外部物体或什么的。

使用

添加到舞台时可以捕获
textfield.addEventListener( mx.events.Event.ADDED_TO_STAGE, handleAddedToStage );
...
protected function handleAddedToStage( event:Event ):void
{
  ...

更新

用户想要文字大小。我相信答案是:

textfield.getTextFormat().size

getTextFormat()有可选参数,可以在字段中选择一系列文字。

答案 1 :(得分:2)

如果您正在将多种文本格式应用于TextField,那么您可能实际上很幸运,因为AS3将开始使用HTML来表示TextField。

您可以通过以下方式获取HTML:

yourTextField.htmlText

这会给你类似的东西:

<P ALIGN="LEFT">
    <FONT FACE="Georgia" SIZE="12" COLOR="#666666" LETTERSPACING="0" KERNING="0">
        Smaller text.
    </FONT>
    <FONT FACE="Georgia" SIZE="16" COLOR="#666666" LETTERSPACING="0" KERNING="0">
        Bigger text.
    </FONT>
</P>

然后,您可以解析此字符串并搜索SIZE属性。在上面的例子中,它们是12和16像素。

如果你只是应用单一的文字格式,你可以继续使用eruciform的建议:

yourTextField.getTextFormat().size