flex学习笔记 富文本编辑(一)-RichEditableText
RichEditableText 为低级的 UIComponent,用于显示、滚动、选择和编辑各种格式的文本。 富文本可以包含可单击的超链接以及可嵌入或从 URL 加载的内嵌图形。 RichEditableText 不包含滚动条,但是可以实现用于以编程方式滚动的 IViewport 接口,这样可以由确实能够提供滚动条的 Scroller 控制。它还支持使用鼠标滚轮垂直滚动。 它不包括用于更改文本格式的任何用户界面。但是,它提供了可以通过编程方式执行此操作的 API;例如,这些 API 可以创建使所选文本变成粗体的 Bold 按钮。 该类用于 Spark 版本的 TextInput 和 TextArea 的外观。(TextInput 不显示处理富文本的功能,但 TextArea 可以。)默认情况下,RichEditableText 具有透明背景,但不支持绘制边框。 RichEditableText 使用 Text Layout Framework (TLF) 库,而该库又基于 Flash Player 10 中的 Flash 文本引擎 (FTE) 新版本。组合后,可以在这些层上使用高质量的国际印刷效果和布局编辑文本。 Spark 体系结构提供三个文本“原型”- Label、RichText 和 RichEditableText。Label 运行速度最快且占用内存最少,因为它仅使用 FTE,没有 TLF,但其功能有限:无富文本、不可滚动、不可选择、不可编辑。RichText 新增了使用复杂布局显示富文本的功能,但仍然完全是非交互式的。RichEditableText 占用内存最多,但是提供 TLF 可以执行的大部分功能。一般来说,请使用能够满足需求的最快速的文本原型。 RichEditableText 与用于 MX 组件的 UITextField 类相似。该类不使用 FTE 或 TLF,而是扩展了旧版 TextField 类。 UITextField 与 RichEditableText 之间最重要的区别在于:
? RichEditableText 使用 TLF 面向对象模型的富文本,其中,诸如分段、段落、范围、超链接和图像等文本布局元素在运行时由 ActionScript 对象表示,可以通过编程方式访问和操纵该对象。TLF 中用于表示富文本的中心对象是 TextFlow,因此可以通过将要显示的 RichEditableText 控件的 编译时,可以将 TLF 标记标签放在 RichEditableText 标签内,如下例所示: <s:RichEditableText>Hello <s:span fontWeight="bold">World!</s:span></s:RichEditableText> 在此示例中,MXML 编译器设置了 ? 默认文本格式由 CSS 样式确定,例如 使用 默认情况下,RichEditableText“自动调整大小”:最初不包含任何文本时非常小,随着文本的输入,其宽度不断增大直到 通过 当指定某种类型的宽度(无论是显式宽度或百分比宽度、 可以使用
如果不希望文本可编辑,请将 因为 RichEditableText 使用 TLF,所以它支持显示从左到右 (LTR) 书写的文本(如法语)、从右到左 (RTL) 书写的文本(如阿拉伯语)以及双向书写的文本(如阿拉伯语语句中的法语语句)。如果文本的主要书写方向为从右到左,请将 使用 TLF 后,RichEditableText 支持在一个编辑会话内执行无限次撤消/重做操作。编辑会话在组件获得键盘焦点时启动,在组件失去焦点时结束。 RichEditableText 使用 TLF 的 TextContainerManager 类处理文本显示、滚动、选择和编辑。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |