这是场景:我等待mx:Text对象发生creationComplete事件,此时我可以访问其受保护成员textField的setTextFormat方法。 (textField在creationComplete之前无效。)此时,通过textField.setTextFormat完成的文本格式化会增加文本的高度。但是在我调用invalidateSize之前,mx:Text本身并没有接收到这个高度变化。但是,在我的情况下,invalidateSize会导致整个文本被重绘,导致它在屏幕上闪烁。但是,如果我只是手动更改浏览器窗口大小,则会在没有文本闪烁的情况下更改文本高度。那么,当我手动更改浏览器窗口大小时,如何通过函数调用完成正在进行的操作。 (我只想要mx:Text来获取通过textfield.setTextFormat完成的高度变化。)
答案 0 :(得分:0)
您是否尝试将文本字段放在精灵或动画片段中并使用回调进行缩放?
答案 1 :(得分:0)
to invertedspear
我实际上可以通过调用
来避免屏幕闪烁 txt1.invalidateSize();
txt1.validateNow();
在调用txt1.ui_txtfld()之后立即.setTextFormat(....)
(ui_txtfld()是我如何使受保护的属性textField可见。)
但是,在我的代码的其他地方,也有必要不直接引用txt1.height,而是
(txt1.ui_txtfld()。textHeight不同+ 4)* txt1.scaleY,
因为txt1.textField.textHeight属性在更改textField的高度后立即生效,而txt1.height则不是。