如何使List控件环绕到第二列(或多列)?谢谢,让我知道如果有一个解决方案,使用List控件或其他一些Flex控件。
例如,如果您有一个包含42个项目的列表,但我想将列表的高度限制为20个项目;然后我没有一个包含42个项目的列表,而是让那个项目列表看起来相当于3个相邻的列表:第一个包含20个项目,第二个包含20个项目,第三个包含2个项目(其中代表42项的原始清单)。
这个问题看起来很相似,但它在ColdFusion中:
Wrapping lists into columns
答案 0 :(得分:1)
使用TileList并更改方向变量是我提出的最佳解决方案。
答案 1 :(得分:0)
您可以为列表项使用Repeater和简单的基于Label的itemRenderer,并避免完全使用列表。如果将它全部包装在自定义控件中,您可以提供与List相同的API,这样您的消费者就永远无法区分它们。
答案 2 :(得分:0)
我认为你正在寻找第二排,正如其他人所指出的那样。将wordWrap设置为true或使用不同的项目渲染器是完成它的最佳方法,但使用自定义项目渲染器可以让您更好地控制对象的显示方式。
答案 3 :(得分:0)
我建议创建一个包含可变数量列表的自定义组件。此自定义组件可以具有名为“maxListHeight”的属性。它还可以具有“dataProvider”属性。此自定义组件将生成一组水平对齐的列表。自定义组件生成的列表数量为:floor(dataProvider.length / maxListHeight)+1。除了生成的最后一个列表之外的所有列表都将具有maxHeight的listHeight;生成的最后一个列表将具有listHeight:dataProvider.length%maxListHeight。
这应该可行但是管理向masterList添加和删除项目应该需要一些额外的工作(如果没有从后面添加/删除它)。这还需要实例化多个列表而不是一个。
答案 4 :(得分:-1)
itemRenderer
控件的默认List
为TextInput
,仅支持单行文字。请改用TextArea
。
<mx:List itemRenderer="mx.controls.TextArea"/>
答案 5 :(得分:-1)
尝试在List上设置以下两个属性:
wordWrap=true
variableRowHeight=true