rme*_*dor 33 apache-flex text word-wrap
我正在创建一个Adobe Flex应用程序,我有一个Text控件(mx:Text),当你需要多行不可编辑的文本时(而不是Label,它是单行不可编辑的文本),它应该被使用.当我将浏览器窗口调整为小于文本(或者在浏览器窗口已经较小时加载它)时,我的文本控件不会换行.在查阅我发现的这个文档后,如果指定绝对宽度(以像素为单位),似乎只会发生自动换行功能.这正是我想要避免的.我希望文本换行以适应我的Flash对象的大小,以便它始终可见...有没有办法实现这一点,通过一些我缺少的属性或者可能是一个不同的控件?谢谢.
小智 25
我有同样的问题.在我的情况下,我有一个mx:文本块(应该已经包装),并且mx:Text对象嵌入在两个mx:VBox容器中.
我成功包装文本的唯一方法是同时执行以下操作:
非常不直观,但这对我有用.
我希望这可以帮助你!
Jon Kinsting
百分比宽度和高度实际上解析为它们的像素当量,因此使用它们应该实现您正在寻找的包装和相对大小.例如:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
<mx:Text width="100%" height="100%" text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." />
</mx:Application>
Run Code Online (Sandbox Code Playgroud)
也就是说,如果有任何类型的宽度设置,相对大小(显式数字,百分比,基于约束的锚点 - 例如,顶部,右侧,底部,左侧等)应该使文本自然换行.这种方法不适用于您正在使用的布局吗?没有一些代码,很难说,但你是对的 - 包装确实需要在容器上设置与宽度相关的属性.
然而,调整大小和包装可能有点棘手,具体取决于上下文,所以如果你发现这不起作用,请尝试发布一些代码 - 我相信我们中的一个人将能够帮助你解决问题.
您可以尝试向 的父节点添加事件处理程序Event.RESIZE,并调用 Text 对象的validateNow()方法。(也许之前有一个invalidateSize()电话。)我不知道为什么这不会自动发生。