2010-04-01 4 views

Répondre

25

En MXML, vous pouvez le faire comme ceci:

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

Vous définissez le requestedMinRowCount ou requestedRowCount dans la mise en page dans la liste. Ça m'avait déjà précédé. J'espère que cela pourra aider.

+1

J'essaie de faire fonctionner ceci avec TileLayout, mais il n'y a pas de requestedMinRowCount pour TileLayout. Je me demande comment régler la hauteur de manière dynamique pour la liste lorsque vous utilisez TileLayout afin que la liste ne prenne que l'espace dont elle a besoin pour afficher ses lignes? –

3

Pour TileList je l'ai fait comme ceci:

<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); 
    } 

} 

Ou vous pouvez prolonger votre TileLayout :)

3

essayer cette mise en page - pour la liste régulière

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

meilleure manière pour ce faire

height="{list.dataGroup.contentHeight}" 
Questions connexes