在以下示例中,未显示水平滚动条。一旦我更改horizontalScrollPolicy =“auto”width horizontalScrollPolicy =“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
答案 0 :(得分:4)
查看此博文:autoscrolling for flex tree
引用它:
问题在于Tree(以及其他基于List的组件),当您将horizontalScrollPolicy设置为auto时,滚动条实际上并不会出现。这看起来像是一个bug,但我们是出于性能原因而设计的。为了正确显示滚动条,我们需要测量所有项目的宽度(在屏幕上或不在屏幕上),这默认情况下需要花费太多时间。因此,要显示一个滚动条,您需要设置maxHorizontalScrollPosition,即用户可以滚动的数量。