RichEditable、TextArea 等基于 Text Layout Framework 的文本组件在使用 TextFlow 导入富文本时有如下问题:当有时由于有图片或大字体导入,导致文本流合成需要一定时间,此时如果设置滚动条位置到最下方,当文本流合成完毕,由于又增加了内容,导致滚动条的位置又上移了。

之前的做法是加一个延时,但此方法有矛盾之处:既不能把延时设得太大,因为这样导入文本时的体验不好,又不能设得太小,因为无法保证在延时的时间段内图片或字体加载完成。

偶然发现了一个纯 AS 写的滚动条,其中用了用缓动类 TweenLite 来实现滚动条的滑动效果,顿时想到可以尝试一下用来解决上文提到的滚动条问题,经过试验,效果显著,于是上面问题归结为一句代码,以 TextArea 为例:

TweenLite.to(textArea.scroller.verticalScrollBar,1,{value:int.MAX_VALUE});