Apache flex 在我的mx:list控件中的任意两个列表项之间存在大量不需要的空间
我有一个列表控件,它使用数组集合作为数据提供程序。数组集合在actionscript中初始化。列表如下所示:Apache flex 在我的mx:list控件中的任意两个列表项之间存在大量不需要的空间,apache-flex,list,listitem,Apache Flex,List,Listitem,我有一个列表控件,它使用数组集合作为数据提供程序。数组集合在actionscript中初始化。列表如下所示: <mx:List width="500" id="activeMessages" styleName="messages" variableRowHeight="true" verticalScrollPolicy="off" horizontalScrollPolicy="off" dataProvider="{activeMessageTitles}"/> .me
<mx:List width="500" id="activeMessages" styleName="messages" variableRowHeight="true" verticalScrollPolicy="off" horizontalScrollPolicy="off"
dataProvider="{activeMessageTitles}"/>
.messages{
border-style:solid;
corner-radius:4;
border-color:#cccccc;
padding:0 0 0 0;
background-color:#DCDCDC;
margin-bottom:400px;
padding-bottom:120px;
}
数组集合是动态加载数据的,并且已经过验证,因此它确实具有必需的数据。必需的数据只是随机的单词而不是句子,对于任何给定的数组,不超过两个单词
var activeMessageTitles:ArrayCollection = new ArrayCollection();
问题在于格式。dataProvider会检索所有项目,并在列表中呈现这些项目。唯一的问题是列表中任意两行项目之间的空间很大,并且会占用任意数量的空间。我希望列表项能够在另一个后面呈现,而不是在中间有大量的空间。
谁能具体说明这里到底出了什么问题 这个问题听起来像是虚拟化。列出回收项目渲染器,仅用于显示屏幕上可见的内容。当您滚动时,flex将获取刚刚离开视图的渲染器,并将其重新用于进入视图的渲染器。根据消息在回收的渲染器中的大小,它仍将保留较大的高度。。。即使插入的新消息很小 要解决此问题,请创建一个项目渲染器(大量教程)并重写其set data()方法,以便可以调整渲染器的大小以适应新内容 有关详细信息,请参阅此链接: