列表和树组件上的水平滚动条问题

时间:2010-01-16 09:29:52

标签: flex

在以下示例中,未显示水平滚动条。一旦我更改horizo​​ntalScrollPolicy =“auto”width horizo​​ntalScrollPolicy =“on”就可以正常工作。任何人都知道这个例子有什么问题吗?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

    <mx:ArrayCollection id="ac">
        <mx:Array>
            <mx:Object name="Text Text Text Text"/>
            <mx:Object name="Text Text Text Text"/>
        </mx:Array>
    </mx:ArrayCollection>

    <mx:List id="myList" width="100" height="100" horizontalScrollPolicy="auto" maxWidth="100"
        dataProvider="{ac}"
        labelField="name"/>

     <mx:Tree width="100" height="100" horizontalScrollPolicy="auto" maxWidth="100"
        dataProvider="{ac}" labelField="name"  x="128" y="66"/>

</mx:Application>

感谢和问候

cyrill

1 个答案:

答案 0 :(得分:4)

查看此博文:autoscrolling for flex tree

引用它:

  

问题在于Tree(以及其他基于List的组件),当您将horizo​​ntalScrollPolicy设置为auto时,滚动条实际上​​并不会出现。这看起来像是一个bug,但我们是出于性能原因而设计的。为了正确显示滚动条,我们需要测量所有项目的宽度(在屏幕上或不在屏幕上),这默认情况下需要花费太多时间。因此,要显示一个滚动条,您需要设置maxHorizo​​ntalScrollPosition,即用户可以滚动的数量。