`
yoshiyan
  • 浏览: 47321 次
社区版块
存档分类
最新评论

Flex TLF框架

    博客分类:
  • Flex
阅读更多
TextFlow的textAlign样式的"justify"有何特点?
justify的中文解释为:调整使全行排满;使每行排齐;使齐行
请比较下边的两幅图:
textAlign = "left"&& whiteSpaceCollapse = "perserve":

textAlign = "justify" && whiteSpaceCollapse = "perserve":


TextFlow的whiteSpaceCollapse属性有啥影响?
4.1的API文档中对whiteSpaceCollapse的解释如下:
引用
whiteSpaceCollapse:String (default = "collapse") — 指示是否应折叠或保留标记中的空白的 String。可能的值为 flashx.textLayout.formats.WhiteSpaceCollapse 类中的 WhiteSpaceCollapse.COLLAPSE 和 WhiteSpaceCollapse.PRESERVE。默认值为 WhiteSpaceCollapse.COLLAPSE。


影响1:对显示结果的影响
两种设置的区别请比较下边两幅图:
textAlign = "justify" && whiteSpaceCollapse = "perserve":


textAlign = "justify" && whiteSpaceCollapse = "collapse":


影响2:对数据源处理的影响
当textFlow的文字数量比较多的时候,我们可能会想要给文字内容分行,并且加上缩进。
这种情况下,whiteSpaceCollapse = "collapse"会自动将用于缩进的空格给删掉,而whiteSpaceCollapse = "perserve"则保留这些空格。

为何我调用TextConverter.importToFlow(text, TextConverter.TEXT_LAYOUT_FORMAT)返回的是null?
format类型为TextConverter.TEXT_LAYOUT_FORMAT时,text对应的XML的根节点必须含有名字空间:xmlns="http://ns.adobe.com/textLayout/2008"

如何拿到每一行的内容?
可以通过TextFlowLine的absoluteStart和textLength属性来获取。
TextFlow解析出来完整的字符串可以通过下边两种方法获得:
1.通过组件(RichEditableText之类)的text属性(实现简单):
实例代码如下:

2.通过()

如何获取被被选择的文本?
//初始化,需要将TextFlow.interactionManager赋值为EditManager
m_textFlow = TextConverter.importToFlow(textContent, TextConverter.TEXT_LAYOUT_FORMAT);
m_textFlow.interactionManager = new EditManager(new UndoManager());
.......
//获取的被选择文本
var editManager:EditManager = EditManager(m_textFlow.interactionManager);
var absoluteStart:int = editManager.getSelectionState().absoluteStart;
var absoluteEnd:int = editManager.getSelectionState().absoluteEnd;


unfocusedSelectionFormat和inactiveSelectionFormat有啥区别?
文档中的解释如下:
引用
inactiveSelectionFormat : SelectionFormat
当文本流 (TextFlow) 的窗口是非活动窗口时,该文本流的初始选择格式

unfocusedSelectionFormat : SelectionFormat
当该窗口是活动窗口但 TextFlow 中没有容器具有焦点时,Text Layout Framework 用于绘制选择内容的初始选择格式。


为啥设置的unfocusedSelectionFormat和inactiveSelectionFormat都没有生效?

不能给TextFlow的Configuration的textFlowInitialFormat设置背景颜色的吗?
代码段如下:
	var config:Configuration = Configuration(TextFlow.defaultConfiguration).clone(); 	
	var textFormat:TextLayoutFormat = new TextLayoutFormat();
	textFormat.color                = textColor.selectedColor;
	textFormat.backgroundColor      = textBackgroundColor.selectedColor;
	textFormat.backgroundAlpha      = 1;
	
	config.textFlowInitialFormat    = textFormat;
	m_textFlow = TextConverter.importToFlow(textContent, TextConverter.TEXT_LAYOUT_FORMAT, config);

上边的textFormat.color都已经生效了,为啥textFormat.backgroundColor却没有生效?

如何监听importToFlow里插入图片的事件?
只需要在调用TextConverter.importToFlow函数后,为其返回的TextFlow添加StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE事件的响应函数函数即可。
示例代码如下:
m_textFlow = TextConverter.importToFlow(textContent, TextConverter.TEXT_LAYOUT_FORMAT);
m_textFlow.addEventListener(StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE, handleInlineGraphicStatusChange);


如何通过InlineGraphicElement的instance获取此InlineGraphicElement的absolute start?

InlineGraphicElement提供了现成的函数:getAbsoluteStart()。

为啥调用modifyInlineGraphic修改InlineGraphicElement不生效?
1.modifyInlineGraphic的第一个参数需要传入InlineGraphicElement的source而不是InlineGraphicElement的实例。
2.被修改的InlineGraphicElement需要处于被选中状态,可以通过给modifyInlineGraphic函数设置参数达到这一目的。
示例代码:
var editorManager:EditManager = EditManager(m_textFlow.interactionManager);
var inlineGraphic:InlineGraphicElement = event.m_resizedObj as InlineGraphicElement;
editorManager.modifyInlineGraphic(inlineGraphic.source, event.m_newWidth, event.m_newHeight, null, new SelectionState(m_textFlow, inlineGraphic.getAbsoluteStart(), 
inlineGraphic.getAbsoluteStart() + 1));


search功能的实现:[/color]
            private function search(search:String):void
            {
                var len:int = search.length;
                var pos:int = 0;
                   var r:Array = [];            
                do
                {
                    if ((pos = editor.text.indexOf(search, pos)) != -1)
                    {
                        r.push(pos);
                    }
                    else
                    {
                        break;
                    } 
                }
                while(pos += len);
                for each(var index:int in r)
                {
                     var txtLayFmt:TextLayoutFormat = editor.getFormatOfRange(null,
                                        index,
                                        index+search.length);    
                    txtLayFmt.backgroundColor = 0xFCEE21;
                    editor.setFormatOfRange(txtLayFmt,
                                        index,
                                        index+search.length);
                    editor.setFocus();        
                }
                //resultLabel.text= searchArray.length + " matches";
                //if(searchArray.length > 0)
                //    searchArray[0].selected=true;
            }   


图文混排参考链接:
http://diding.iteye.com/blog/345239
http://flex2.group.iteye.com/group/blog/358666
  • 大小: 7 KB
  • 大小: 7 KB
  • 大小: 6.9 KB
分享到:
评论

相关推荐

    TLF35584 SEPIC Design

    【TLF35584 SEPIC电路设计】 在汽车电子系统中,常常需要电源管理芯片来处理不同电压等级的转换问题。TLF35584是一款适用于24V系统的电源转换器,但其部分芯片耐压参数并不能直接应对24V应用中的极端条件,特别是...

    Flex Text layout Framework(TLF) example

    自己整理的Flex Text Layout Framework 来自网上,很全的例子。包括了bookmarks,editor(simpleEditor,SimpleEditorWithCss),pagination(1,2,3),madlibs等,不能上传图片要不然上传上来给大家看一下。可以直接运行开...

    TLF35584_ProductPresentation.pdf

    TLF35584 System Supply for Safety-Relevant Applications TLF35584是一款系统供电芯片,专门为安全相关应用设计,旨在提供高可靠性的电源解决方案。该芯片具有强大的功能和 safety features,以满足汽车电子、...

    功能安全芯片TLF35584

    功能安全芯片TLF35584是由英飞凌科技公司推出的一款专门针对安全相关应用的系统电源芯片,广泛应用于汽车电子领域。TLF35584集成了多种功能模块,包括电源管理模块、功能安全模块、微控制器接口等,为汽车电子中的...

    tlf35584.pdf

    《TLF35584:高效多电压安全微处理器电源芯片详解》 在汽车电子领域,功能安全和电源管理是至关重要的要素。本文将详细解析TI公司推出的TLF35584芯片,它是一款专为高效率、多电压电源监控设计的微处理器供电解决...

    TLF35584数据手册与TLF35584 状态机和故障处理说明

    **TLF35584数据手册概述** TLF35584是一款车规级电源管理集成电路(IC),在汽车电子系统中扮演着至关重要的角色。数据手册是理解这款芯片特性和应用的关键资料,它提供了芯片的电气特性、功能描述、封装信息以及...

    [转]多媒体范例: 如何使用CSS来格式化TLF文本

    TLF是Flash中用于高级文本布局和格式化的框架,它提供了比早期的TextField类更强大的功能,如多语言支持、复杂的排版和样式控制。 在这个教程中,我们可以预期学习到以下关键知识点: 1. **TLF文本基础**:首先,...

    英飞凌TLF35584中文应用手册

    ### 英飞凌TLF35584中文应用手册知识点总结 #### 一、概述 英飞凌TLF35584是一款高效的多电压电源管理芯片,它集成了多种电源管理和保护功能,适用于广泛的电子设备。此款芯片特别设计了支持3.0至40V宽输入电压范围...

    tlf-1234调试

    "tlf-1234调试"这个项目显然集中于这方面的任务,可能是为了优化一个由Visual Basic(VB)编写的服务器应用程序,使其能有效地与JPRS模块进行交互。接下来,我们将深入探讨服务器程序调试的关键要素、VB编程语言的...

    Agilent-TLF传输线理论教学

    TLF高速传输线理论教学

    TLF50241EL 英飞凌芯片 INFINEON 中文版规格书手册.pdf

    《英飞凌TLF50241EL芯片中文规格书手册》提供了关于这款高效能电源管理芯片的详尽信息。TLF50241EL是英飞凌公司推出的一款500毫安、5伏的降压型电压调节器,其设计旨在替代低静态电流的线性电压调节器,尤其适用于...

    TLF35584驱动函数库以及Demo

    基于英飞凌TC397实现TLF35584驱动编写 涵盖SPI配置信息以及驱动Demo例程

    [转] 第一次开源,给大家一个TLF图文并貌的高级应用类

    TLF是Adobe Flex框架中用于处理复杂文本布局的组件,它提供了更强大的文字样式控制和多语言支持。 描述中提到的“博文链接:https://as3.iteye.com/blog/1016544”表明这个项目或教程的详细信息可以在提供的博客...

    [统计数据挖掘工具].TLF-SOFT-SPSS_Clementine_v12.0-CYGiSO.nfo

    [统计数据挖掘工具].TLF-SOFT-SPSS_Clementine_v12.0-CYGiSO.nfo

    LP156WF1-TLF3(LGD0259)校色后的文件

    标题提到的“LP156WF1-TLF3(LGD0259)校色后的文件”是指针对这款特定型号的显示器——由LG Display生产的LP156WF1-TLF3——进行校色后生成的配置文件。这个过程是为了确保显示器的色彩表现与国际色彩标准或特定色彩...

    TLF35584、auto

    TLF35584、auto

    T520 W520 T530 W530 M4600 可用的LP156WF1-TLF3 LGD0259 的屏幕校色文件

    T520 W520 T530 W530 M4600 可用的LP156WF1-TLF3 LGD0259 的屏幕校色文件 这块屏有90RGB 在LVDS的垃圾堆里算不错的15.6的 屏了。 这个ICM个人觉得还行

    LP156WF1-TLF3 #1 2020-03-14 02-10 2.2 VF-S XYZLUT+MTX.icm

    适用于LGD0259(LG Philips LP156WF1-TLF3)笔记本屏幕的icm颜色文件。使用Spyder2 Express校色仪校准,可用DisplayCAL加载。

    IMDB_Top_250合辑_TLF-MiniSD收藏版.torrent

    IMDB_Top_250合辑_TLF-MiniSD收藏版

Global site tag (gtag.js) - Google Analytics