为List组件添加可随内容变化的滚动条

来源:互联网 发布:梦里花落知多少作者 编辑:程序博客网 时间:2024/05/16 12:22

<?xml version="1.0" encoding="utf-8" ?>

 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();">
 <mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
         
         [Bindable]
         private var listData:ArrayCollection = new ArrayCollection();
         
         private var arrs:Array = [{label:"Lorem ipsum dolor sit amet, consectetuerad xxxxxYYYYYY."},
         {label:"Donec sit amet dui nec pede aliquam auctor."},
         {label:"Integer vestibulum sodales dui."},
         {label:"Lorem ipsum dolor sit amet, consectetuerad xxxxxYYYYYY."},
         {label:"Donec sit amet dui nec pede aliquam auctor."},
         {label:"Integer vestibulum sodales dui."}];
          
         
            private function init():void {
             listData.source = arrs;
                myAutoSizeList.maxHorizontalScrollPosition = getMaxLabelLength() - myAutoSizeList.columnWidth;
               
            }
            private function getMaxLabelLength():int{
             var maxLabelLength:int = 0;
             for(var i:int=0;i<arrs.length;i++){
              var eachLabelLength:int = measureText(arrs[i].label).width*1.1;
              if(eachLabelLength>maxLabelLength){
               maxLabelLength = eachLabelLength;
              }
             }
             return maxLabelLength;
            }
       
  ]]>
 </mx:Script>
 
  <mx:List id="myAutoSizeList" dataProvider="{listData}" horizontalScrollPolicy="auto" rowCount="6" width="200" />
  </mx:Application>