Actionscript 3 如何仅使用ActionScript添加TextArea的RichEditableText

Actionscript 3 如何仅使用ActionScript添加TextArea的RichEditableText,actionscript-3,Actionscript 3,两天来,我一直在试图找到这个看似简单的问题的答案,我的脑袋都快晕过去了 我正在开发一个完全在ActionScript中构建的Flex/AIR应用程序——除了最初自动创建的MXML之外,没有其他MXML 我需要动态生成某种可编辑的文本字段,并对格式进行高度控制。TLF文本字段看起来都很棒,只是我无法在屏幕上渲染它们中的任何一个。由于应用程序的性质,它们必须在MovieClip中,但是因为我已经读到所有东西都必须是UIComponent的后代,所以我使用UIMovieClip,它被添加到舞台上 我快

两天来,我一直在试图找到这个看似简单的问题的答案,我的脑袋都快晕过去了

我正在开发一个完全在ActionScript中构建的Flex/AIR应用程序——除了最初自动创建的MXML之外,没有其他MXML

我需要动态生成某种可编辑的文本字段,并对格式进行高度控制。TLF文本字段看起来都很棒,只是我无法在屏幕上渲染它们中的任何一个。由于应用程序的性质,它们必须在MovieClip中,但是因为我已经读到所有东西都必须是UIComponent的后代,所以我使用UIMovieClip,它被添加到舞台上

我快发疯了,整个应用程序都因为这个而处于危险之中。我不能使用MXML,互联网上的10000个示例都是MXML。我需要动态地生成这些。我需要根据数据库数据在一个movieclip下生成50多个字段。没有办法用MXML硬编码。请不要建议改变这个。GUI对此非常具体,它是正确的GUI

在两天的搜索中,我在ActionScript中找不到一个示例,只有MXML。我试过所有闻起来像例子的东西

有没有什么明显的通用指针我遗漏了?我很乐意发布代码,但这没有意义,因为我已经看过很多例子

是否有人拥有最简单的代码,用于仅在ActionScript(零MXML)中创建任何类型的TLF文本编辑字段,然后将其添加到MovieClip或UIMovieClip,并将其添加到桌面AIR应用程序的阶段

我将非常珍惜这里的任何帮助

最好的


根据

这应该让您开始:

//create your TextFlow component
var textFlow:TextFlow = new TextFlow();
var p:ParagraphElement = new ParagraphElement();
var span:SpanElement = new SpanElement();
span.text = "hello world";
p.addChild(span);
textFlow.addChild(p);

//create a Sprite that will contain the text
var textBlock:Sprite = new Sprite();
//create a controller for compositing
var controller:ContainerController = new ContainerController(textBlock);
//set the size of the composition
controller.setCompositionSize(100, 200);
//make the controller control the TextFlow object
textFlow.flowComposer.addController(controller);
//update the composition
textFlow.flowComposer.updateAllControllers();

//add to the stage
addChild(textBlock);
关于大小:使用
setCompositionSize()
而不是精灵的宽度和高度属性非常重要

使用
addController()
可以将文本分布在多个精灵上。每个精灵都有自己的ContainerController,但都将共享同一个FlowComposer来计算构图

警告:像这样使用TLF可能非常复杂。上面的代码是运行程序的最低要求。我不知道您的要求,但您可能会遇到其他一些障碍。你必须问自己这个问题:你真的愿意放弃TextArea的所有内置功能吗?根据需求,您可能需要花费数月的开发时间才能将事情做好。您可能仍然需要重新考虑您的体系结构