flex tree 自动显示横向滚动条
发布时间:2020-12-15 04:31:24 所属栏目:百科 来源:网络整理
导读:从原始Tree继承出新的类AutoSizeTree AutoSizeTree.as package view.component{import flash.events.Event;import mx.controls.Alert;import mx.controls.Tree;import mx.core.ScrollPolicy;import mx.core.mx_internal;public class AutoSizeTree extends T
从原始Tree继承出新的类AutoSizeTree AutoSizeTree.as package view.component { import flash.events.Event; import mx.controls.Alert; import mx.controls.Tree; import mx.core.ScrollPolicy; import mx.core.mx_internal; public class AutoSizeTree extends Tree { public function AutoSizeTree() { super(); horizontalScrollPolicy = ScrollPolicy.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; else maxHorizontalScrollPosition = diffWidth + indentation; super.updateDisplayList(unscaledWidth,unscaledHeight); } } } 测试页面? aa.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:cmp="com.render.*" height="100%" width="100%" paddingTop="0" paddingBottom="0" paddingLeft="0" paddingRight="0"> <cmp:AutoSizeTree id="checkTree" labelField="@label" width="100%" height="100%" horizontalScrollPolicy="auto" > </cmp:AutoSizeTree> </mx:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |