1

我有一个带有平铺布局的列表,我已将项目渲染器的宽度设为 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>

提前致谢!

4

2 回答 2

5

尝试将此添加到 TileLayout:

TileLayout columnAlign="justifyUsingWidth"
于 2011-07-12T22:36:12.117 回答
0

如果我错了,请纠正我,这是我对您想要做什么的理解:

您需要 List 中的项目均匀地水平拉伸,占据 List 的 100% 宽度。因此,如果只有 1 个项目,它会占据 List 的 100% 宽度。如果一个项目太多(即所有项目的大小必须调整到低于它们的 minWidth),最后一个项目将移动到下一行。

以下是您可以使用 TileLayout 实现的目标:

您可以设置columnWidth="{yourItemRendererMinWidth}"columnAlign="justifyUsingWidth"。这使您的 TileLayout 将其行均匀地划分为最小宽度为 yourItemRendererMinWidth 的列。如果一列超出 List 容器的右边缘,则将其转移到下一行,而该行中的所有先前列都延伸到容器的右边缘。

但是,该行会有空列(例如,如果有 2 个项目的 minWidth=100,而您的 List 的宽度为 300,则将有一个空列)。如果项目太少,则必须以编程方式调整columnWidth或调整 TileLayout。requestedColumnCount

于 2013-04-10T12:00:08.300 回答