簡體   English   中英

如何在Flex中為列表控件設置變量大小?

[英]How to set variable size for List control item in Flex?

以下代碼使用List控件顯示注釋列表。 項目高度設置為固定值(150),因此似乎可以正常工作:如果內容太長,滾動條將顯示...

但是,我真正想要的不是設置高度,而是根據內容大小進行更改。 有什么辦法可以做到這一點?

        <mx:List id="commentList" width="100%" dataProvider="{commentSet.commentArrayColl}"
            rowCount="{commentSet.commentArrayColl.length}" >
            <mx:itemRenderer>
                <mx:Component>
                    <mx:VBox width="100%" height="150" >
                        <mx:Text text="{data.commentContent}" />
                        <mx:Text text="{data.username} ({data.modified})"/>
                    </mx:VBox>
                </mx:Component>
            </mx:itemRenderer>
        </mx:List> 

編輯:更清楚地說,我不想將itemRenderer的VBox高度設置為“ 150”或任何其他固定值-但是,如果我不這樣做,它只會顯示一行文本。 因此,我正在尋找一種解決方案。 (如果VBox不在itemRenderer內,它將隨着文本字段字符串長度的增加自動調整高度-這就是我想要的。)

添加一個綁定dataProvider.length * 150功能的height屬性:

    <mx:List id="commentList" width="100%" dataProvider="{commentSet.commentArrayColl}"
        rowCount="{commentSet.commentArrayColl.length}" height={commentSet.commentArrayColl.length*150}>
        <mx:itemRenderer>
            <mx:Component>
                <mx:VBox width="100%" height="150" >
                    <mx:Text text="{data.commentContent}" />
                    <mx:Text text="{data.username} ({data.modified})"/>
                </mx:VBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:List>

嘗試不要在VBox上設置高度,而在列表上將variableRowHeight設置為true。 盡管我不確定該列表將如何發揮作用。

另外,由於您並沒有真正利用itemRender回收的優勢(由於rowCount = dataProvider.length),您可能要考慮使用轉發器而不是列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM