在我的flex应用程序中,我有这样的场景:父到子Vbox->Canvas->Sprite->Textflow
在这个场景中,我现在需要拥有文本流的动态高度&它的父级。在这里,根父级是我拥有的datagrid的项目呈现器。
我需要行的高度来调整它的内容。
现在,我正在将xml导入到textflow中,然后获取行数和文本高度。然后删除文本流,并根据行数和文本高度将其重新添加到测量高度。
我如何才能在不删除和重新添加它的情况下实现它,因为它需要花费很多时间进行更新?
提前谢谢。
发布于 2011-04-06 10:04:55
回答这个问题可能有点晚了,但其他人可能会受益。在包含TextFlow和sprite的画布或显示对象上,添加一个creationComplete函数。
我不知道这一步是否有必要,但它对我来说是有效的。添加一个包含将要进入TextFlow的文本的标签(具有相同的字体和fontSize),并为其添加一个创建完成侦听器。
从新创建的label e.target.width e.target.height中获取高度和宽度(在监听label创建的函数中)。将displayObjects (在上面的例子中是画布)的高度和宽度设置为这些值,然后继续添加子画面和文本流。
注意:这对我来说是一种懒惰的方式,label使用measureText,这将是一种更有效的方式。
https://stackoverflow.com/questions/1037447
复制相似问题