TextArea TextField 文本 自动滚动到最后一行

发表评论 阅读评论

2009.10.14更新
由于Flex的文件比较大,所以这里只做了TextField的示例, 其他的原理都一样的。

这是一个文本框即时显示到最后一行的效果,如果你看不到这个flash,请到文章页面查看!

TextField:

stage.invalidate(); // 每次更新 textField的text都要调用
textField.addEventListener(Event.RENDER, renderHandler);
private function renderHandler(e:Event):void 
{
    textField.scrollV = textField.maxScrollV;
}

fl组件:

textArea.addEventListener(Event.RENDER, renderHandler); // 每次更新text时调用
private function renderHandler(e:Event):void
{
    // 一次更新后删除这个侦听,
    // 因为fl.controls.TextArea会在显示更新时发送该事件(即便是滚动条的显示更新也会发送)
    textArea.removeEventListener(Event.RENDER, renderHandler); 
    textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
}

flex组件:

textArea.addEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler);
private function renderHandler(e:FlexEvent):void
{
    textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
}

示例源码下载

  1. charms | #1

    挺8错!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
回到顶部