FLEX - 纸张布局

时间:2012-07-04 14:43:48

标签: actionscript-3 flash flex layout text

如何让RichEditableText控件在页面中显示文本。就像在Microsoft Word中一样,它应该具有由页面大小设置确定的可视分页符,以便我可以切换到A4,US字母大小等,文本将相应地流入垂直矩形(页面)。

enter image description here

我觉得我应该实际使用文本布局框架TextFlow。 但是,为了得到这种纸张布局,起点是什么,我应该关注什么。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

使用默认的RichEditableText组件无法做到这一点,但这里有一个可以帮助您入门的小片段:

<s:VGroup gap="20">
    <mx:UIComponent id="page1" width="50" height="50" />
    <mx:UIComponent id="page2" width="50" height="50" />
</s:VGroup>

用A4或其他尺寸替换尺寸。如果您希望页面数量是动态的,则必须使用DataGroup代替。

现在我们创建一个TextFlow对象,我们为每个页面分配一个ContainerController,然后我们将它们放在我们的页面上:

var tlf:TextFlow = TextFlowUtil.importFromString(
    "Some very long text that spans many pages goes in here."
);
for each (var page:Sprite in [page1, page2]) {
    var c:ContainerController = new ContainerController(
        page, page.width, page.height
    );
    tlf.flowComposer.addController(c);
}
tlf.flowComposer.updateAllControllers();

答案 1 :(得分:1)

如果你掌握Text Layout Framework,你甚至可以做this之类的事情。

Here你有很多使用TLF的样本,它包括分页。这是我认为最好的起点。