我想使用Flex 4 API实现自定义HDividedBox。分裂器应该是动态皮肤部分。 我找不到任何控件的例子,其中皮肤部位的位置应根据孩子的数量及其大小来计算。似乎这种控件不适合标准的Flex 4模型:皮肤,控制,布局。有人可以给我一些提示吗?
答案 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 的高度。
我知道我不是在解决你的技术问题,但有时候重述问题并以一种不同的方式解决问题更为可行。这通常会导致更优雅的解决方案,如上例所示。