2011-05-18 53 views
1

我创建了一个SkinnableContainer运行时,因为我想为它设置一些样式属性,然后基于一些外部数据,我需要创建一个新的SkinnableContainer并将其添加为第一个子项。这个孩子的身高可以大于父容器。如何将滚动条添加到SkinnableContainer创建的运行时?

如何使用一些滚动条创建SkinnableContainer运行时?
I read in the documentation that I need to create a new Skin

运行时可以达到相同的结果吗?

// ... in a container ... 

var father = new SkinnableContainer(); 
this.addElement(father); 

var child = new SkinnableContainer(); 
// ... some initialization... child is filled with some other elements from outside 

father.addElement(child); 

// ... now if child.height > father.height 
// I want to add a vertical scrollbar 
+0

我能问什么是这样做的呢?你想达到什么目的? – 2011-05-18 21:49:46

+0

我尝试了解如何使用Actionscript中的滚动条而不使用MXML,因为我正在开发一个从远程主机读取XML并构建复杂接口的类 – yuri 2011-05-18 23:20:09

回答

2

您可以随时把孩子放在Scroller控件中。

例如:

var father = new SkinnableContainer(); 
this.addElement(father); 

var scroller = new Scroller(); 
var child = new SkinnableContainer(); 
// ... some initialization... child is filled with some other elements from outside 

// scroller.addElement(child); // wrong because you cannot add element to a scroller 
scroller.viewport = child.contentGroup; // but you can set this to an IViewport 

father.addElement(scroller); 
father.addElement(child); 
+0

例如:“father.addElement(new Scroller()。 addElement(child))“?对于语法感到抱歉。哦,我的天......我完全误解了Scroller组件。这是一个容器,不是一个滚动条小部件! – yuri 2011-05-18 23:27:26

+1

@yuri是的!您可以在'Scroller'组件中放置'child'' SkinnableContainer'。这是否让你找到你想要的东西?我用一个简单的例子更新了我的答案。 – 2011-05-18 23:37:50

+0

正是我在找的! – yuri 2011-05-19 08:44:21