首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex中兑现tree水平滚动条自动加载

2012-06-28 
Flex中实现tree水平滚动条自动加载Flex中实现tree水平滚动条自动加载flex中的tree有一个horizontalScrollP

Flex中实现tree水平滚动条自动加载
Flex中实现tree水平滚动条自动加载


flex中的tree有一个horizontalScrollPolicy的属性,值可以用三个:on,off,auto。
on:表示水平滚动条一直都出现
off:表示去除水平滚动条
auto:顾名思义。就是自动加载水平滚动条
然而,在自定义了一个树形列表控件后,设置horizontalScrollPolicy=“auto”。水平滚动条并没有自动加载,经过查资料,原来需要在自定义控件中重载下列三个方法,方法如下:

override public function get maxHorizontalScrollPosition():Number{if (isNaN(mx_internal::_maxHorizontalScrollPosition))         return 0;                          return mx_internal::_maxHorizontalScrollPosition;      }           override public function set maxHorizontalScrollPosition(value:Number):void{mx_internal::_maxHorizontalScrollPosition = value;             dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));     scrollAreaChanged = true;            invalidateDisplayList();       }override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{    var diffWidth:Number = measureWidthOfItems(0,0) - (unscaledWidth - viewMetrics.left - viewMetrics.right);var indentation:Number = getStyle("indentation");if (diffWidth <= 0)                   maxHorizontalScrollPosition = NaN;elsemaxHorizontalScrollPosition = diffWidth + indentation;  super.updateDisplayList(unscaledWidth, unscaledHeight); }

加上这三个方法后,水平滚动条如愿出现了。

热点排行