2010-04-01 11 views

Odpowiedz

25

W MXML można to zrobić tak:

<s:List width="100%"> 
    <s:layout> 
     <s:VerticalLayout useVirtualLayout="false" requestedMinRowCount="1"/> 
    </s:layout> 
</s:List> 

ustawić requestedMinRowCount lub requestedRowCount w układzie wewnątrz listy. Dostałem też wcześniej. Nadzieja, która pomaga.

+1

Próbuję włączyć to do pracy z TileLayout, ale nie ma żądanegoMinRowCount dla TileLayout. Zastanawiam się, jak uzyskać wysokość dynamicznie ustawić dla listy przy użyciu TileLayout, tak aby lista zajmuje tylko miejsca, dla których musi wyświetlać wiersze? –

3

Dla TileList zrobiłem to tak:

<s:List width="100%" height="{(tilelayout.rowCount * tilelayout.rowHeight) + ((tilelayout.rowCount - 1) * tilelayout.verticalGap)}"> 
    <s:layout> 
     <s:TileLayout id="tilelayout" rowHeight="190" columnWidth="130" horizontalGap="5" verticalGap="10" /> 
    </s:layout> 
</s:List> 
1
public class MyTileLayout extends TileLayout 
{ 

    override public function updateDisplayList(w:Number, h:Number):void 
    { 
     super.updateDisplayList(w,h); 

     target.height = rowCount*rowHeight + verticalGap*(rowCount - 1); 
    } 

} 

Albo można rozszerzyć swoją TileLayout :)

3

spróbować tego układu - do regularnego listy

<s:layout> 
<s:VerticalLayout horizontalAlign="contentJustify" 
    gap="0" 
    verticalAlign="middle" 
    variableRowHeight="false"/> 
</s:layout> 
0

Najłatwiej Zrobić to

height="{list.dataGroup.contentHeight}"