簡體   English   中英

如何在3中為自定義組件添加滾動條?

[英]How to add scroller for custom component in as 3?

我有一個帶有某些屬性的自定義組件。 現在,我想為此組件添加滾動條。 我對此一無所知。 我想將此滾動器添加到ActionScript文件中。 不在MXML文件中。 有人可以幫我這個忙嗎?

更新:

<s:Scroller width="100%" height="100%">
    <s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" minWidth="0" minHeight="0">
        <s:layout>
            <s:VerticalLayout paddingTop="25"  paddingLeft="25" paddingRight="15"/>
        </s:layout>
    </s:Group>

</s:Scroller>

我建議在自定義組件的MXML外觀中添加滾動條。 這是來自Adobe的滾動器組件的教程

[更新答案]

通過為contentGroup設置left="0" right="0" top="0" bottom="0" minWidth="0"屬性,您始終可以使該組的大小與滾動條的大小相同。 直接的效果是您不需要滾動條。

如果只希望使用垂直滾動條,則可以添加left="0" right="0"屬性,內容組寬度將永遠不會超過滾動條,但是由於高度基於子級而增加,因此它將生成垂直滾動條。 您可以對底部和頂部執行相同操作,以僅創建水平滾動條。 如果兩者都需要,請刪除所有尺寸指示屬性。 這樣,contentGroups子元素將調整大小,並且一旦變大,滾動條就會相應地顯示滾動條。

[問題改變前的答案]

如果您使用的是SkinnableComponent,我同意hidarikani。 但是因為您想在動作腳本中添加滾動條,所以我猜想它不是SkinnableComponent。

訣竅是您需要將所有子元素添加到滾動條內的組中。

var scroller:Scroller = new Scroller();
var content:Group = new Group();
scroller.addElement(content);
this.addElement(scroller);

#insert elements that need to be inside the scroller to the content group.
content.addElement(visualElement1);
content.addElement(visualElement2);

現在,內容組可以根據他的孩子調整大小,並且需要指定滾動條的大小,以便可以根據內容組的大小創建滾動條。

暫無
暫無

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

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