我有一个带有图块布局的列表,我已经将项目渲染器的宽度设置为100%,但该项目不会调整大小以适合内容。相同的场景适用于水平和垂直布局。有任何解决方案??? ..
我的代码看起来像这样
<s:List width="{this.width}" dataProvider="{allActionsArrList}">
<s:layout>
<s:TileLayout />
</s:layout>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer width="100%" height="40">
<s:BorderContainer width="100%">
<s:Label text="{data.name}" />
</s:BorderContainer>
</s:ItemRenderer>
</fx:Component>
<s:itemRenderer>
</s:List>
提前致谢!
答案 0 :(得分:5)
尝试将此添加到TileLayout:
TileLayout columnAlign="justifyUsingWidth"
答案 1 :(得分:0)
如果我错了,请纠正我,这是我理解你想做的事情:
您需要List中的项目以水平均匀拉伸占据List的100%宽度。因此,如果只有一个项目,它占据列表的100%宽度。如果某个项目太多(即所有项目必须在其minWidth以下调整大小),则最后一项将移动到下一行。
以下是使用TileLayout可以实现的目标:
您可以设置columnWidth="{yourItemRendererMinWidth}"
和columnAlign="justifyUsingWidth"
。这使得您的TileLayout将其行均匀地划分为具有最小宽度的列作为yourItemRendererMinWidth。如果列超出了List容器的右边缘,则会将其传输到下一行,而行中的所有先前列都会延伸到容器的右边缘。
但是,行上会有空列(例如,如果有2个项目的minWidth = 100,而列表的宽度为300,则会有一个空列)。如果您的项目太少,则必须以编程方式调整TileLayout上的columnWidth
或requestedColumnCount
。