考虑以下mx:TextArea ..
<mx:TextArea id="textArea"/>
..使用..
定期更新新的文字行textArea.text += newLineBeingAdded + "\n";
..如何确保将textarea向下滚动到底部,以便添加的最后一行对用户可见?
答案 0 :(得分:5)
callLater(scrollToEnd);
....
function scrollToEnd():void {
textArea.verticalScrollPosition = int.MAX_VALUE;
}
它应滚动到最后。
比callLater更好的方法是使用invalidateProperties
/ commitProperties
。
答案 1 :(得分:1)
我不知道使用Halo TextArea显式执行此操作的方法,但Spark TextArea有一个scrollToRange方法,在此上下文中可能对您有用。如果您不想使用Spark组件,另一种方法是使用Halo List组件并将每个新行添加为List的数据提供程序中的新项。每次添加到数据提供程序后,您都可以在List上调用scrollToIndex以确保新项目可见。希望有所帮助。
答案 2 :(得分:1)
该代码适用于Flash Builder 4.5.1:
chatroom.scrollToRange(int.MAX_VALUE, int.MAX_VALUE);
答案 3 :(得分:0)
将光标放在文本的末尾。那也应该滚动显示光标:
textArea.selectionBeginIndex = textArea.text.length;
textArea.selectionEndIndex = textArea.text.length;