2011-04-21 59 views
1

我有一個瓷磚佈局列表,我已將項目渲染器的寬度設置爲100%,但該項目不會調整大小以適應內容。同樣的情況可以很好地用於水平和垂直layout.Is有什麼解決辦法??? ..瓷磚佈局不適用於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

你的目標是什麼?你想要有單列平鋪佈局還是要刪除單元之間的間隙?請描述你的預期。 – Constantiner 2011-04-21 07:37:46

+0

其實它不是單列,我可能有很多項目在瓷磚佈局中。我的期望是它應該佔據整個列表的大小。我的項目沒有固定的寬度,它是100%。所以如果有兩個項目在列表中,這兩項應占據整個列表空間。 – Naveen 2011-04-21 08:35:41

+0

該項目有一個minWidth值,所以只有當大小低於最小寬度的項目應該開始在一個新的一排。我希望它現在清楚。謝謝你的答覆... – Naveen 2011-04-21 08:37:12

回答

5

試圖增加這TileLayout:

TileLayout columnAlign="justifyUsingWidth" 
0

糾正我,如果我錯了,這裏是你想要做什麼我我的理解:

你需要在列表中的項目,以均勻伸展水平佔據列表的100%寬度。所以如果只有1個項目,它佔據列表的100%寬度。如果項目太多(即所有項目必須在minWidth下方調整大小),則最後一項移動到下一行。

這裏就是你可以用TileLayout實現:

您可以設置columnWidth="{yourItemRendererMinWidth}"columnAlign="justifyUsingWidth"。這使得你的TileLayout將其行平均分成最小寬度的列作爲yourItemRendererMinWidth。如果一列超過列表容器的右邊緣,它將被轉移到下一行,而行中所有先前的列都拉伸到容器的右邊緣。但是,行上會有空列(例如,如果有2個項目,其中minWidth = 100,而您的List的寬度爲300,則會有一個空列)。如果項目太少,則必須以編程方式調整TileLayout上的columnWidthrequestedColumnCount