如何在Flex 4中实现带分隔符的自定义容器?

时间:2010-07-22 17:44:07

标签: flex4

我想使用Flex 4 API实现自定义HDividedBox。分裂器应该是动态皮肤部分。 我找不到任何控件的例子,其中皮肤部位的位置应根据孩子的数量及其大小来计算。似乎这种控件不适合标准的Flex 4模型:皮肤,控制,布局。有人可以给我一些提示吗?

1 个答案:

答案 0 :(得分:4)

在我们的上一个项目中,我们必须实现 Splitter ,但我们从一个不同的角度来看待这个问题。我们决定创建一个 HDividedBox 组件不够灵活 - 假设您需要使用额外的拆分器扩展UI,以便您有3个区域除以2个拆分器...拆分器应该以某种方式与由它分开的实际容器分离。

我会尝试总结一下我们的解决方案:

<s:VGroup>
    <components:Container1 id="container1"/>
    <components:Splitter id="splitter" 
        topComponent="{container1}" 
        bottomComponent="{container2}" />
    <components:Container2 id="container2"/>
</s:VGroup>

Splitter组件是一个行为相对简单的组件 - 根据您的拖动方式,您可以更新 container1 的高度。

我知道我不是在解决你的技术问题,但有时候重述问题并以一种不同的方式解决问题更为可行。这通常会导致更优雅的解决方案,如上例所示。