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

本文介绍了一种使用Flex布局实现自适应列表的方法,并通过计算最大标签长度来优化水平滚动条的显示策略,确保了列表项在不同屏幕尺寸下的正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值