Flex

State 切换时组件的创建销毁策略

好久没有写Flex了,今天突然用到了State,隐约记得有两个属性可以控制State切换时组件的创建销毁策略,现记录如下,以防再次失忆。 itemCreationPolicy 属性指定组件的创建策略,该属性值有2个字符串值: deferred(默认值)首次切换到某状态时,属于该状态的组件会被创建实例。 immediate 组件在应用启动时创建,但如果组件不属于当前状态,其 creationComplete 事件不会发生,只有首次切换到该组件所属的状态,调用到渲染绘制时,才会发生该事件。 itemDestructionPolicy 组件的销毁策略,该属性值有2个字符串值: never(默认值)组件一旦创建就不会被自动销毁 auto 当离开该组件所属的状态时,组件将被自动销毁。

  • airycanon
    airycanon
1 min read
Flex

TextFlow 文本中插入图片或其他组件

TextFlow 是 Flex 富文本框架 TextLayout Framework的核心类,使用它可以实现富文本及图文混排,甚至可以插入自定义的Flex组件,具体用法如下: 插入图片 textFlow.interactionManager = new EditManager(); //bitmap为具体的图片,插入后生成一个InlineGraphicElement。 EditManager(textFlow.interactionManager).insertInlineGraphic(bitmap,bitmap.width,bitmap.height); textFlow.flowComposer.updateAllContainers(); 插入自定义组件 var container:SpriteVisualElement = new

  • airycanon
    airycanon
1 min read
Flex

基于 Text Layout Framework 的文本组件的滚动条问题

RichEditable、TextArea 等基于 Text Layout Framework 的文本组件在使用 TextFlow 导入富文本时有如下问题:当有时由于有图片或大字体导入,导致文本流合成需要一定时间,此时如果设置滚动条位置到最下方,当文本流合成完毕,由于又增加了内容,导致滚动条的位置又上移了。 之前的做法是加一个延时,但此方法有矛盾之处:既不能把延时设得太大,因为这样导入文本时的体验不好,又不能设得太小,因为无法保证在延时的时间段内图片或字体加载完成。 偶然发现了一个纯 AS 写的滚动条,其中用了用缓动类 TweenLite 来实现滚动条的滑动效果,顿时想到可以尝试一下用来解决上文提到的滚动条问题,经过试验,效果显著,于是上面问题归结为一句代码,以 TextArea

  • airycanon
    airycanon
1 min read