2012-11-30 72 views
0

這是一個簡單的佈局問題,我不知道如何回答。Flex中的絕對和相對佈局

我有一個HGroup,它由三個部分組成:

  1. 普通的Flex Group應該伸展50%;
  2. 其寬度以px(比方說,100px)指定的按鈕;
  3. 另一個Flex Group應該佔用剩下的空間。

問題是,告訴我的第三個元素(另一個Flex Group)採取所有可用空間的最佳方式是什麼?

回答

3

這裏是我會做什麼,以保持50%的完整性

<s:HGroup width="100%"> 
    <s:Group width="50%" /> 
    <s:HGroup width="50%"> 
     <s:Button width="100"/> 
     <s:Group width="100%" /> 
    </s:HGroup> 
</s:HGroup> 

編輯:多一點的解釋

組寬度設置爲100%,將使其伸展,並採取了什麼房間(在50%的權利範圍內)

+0

謝謝!事實證明非常簡單。 –

1

你可以這樣做,但傑森裏夫斯的答案要好得多,不太可能失敗。這種方法的唯一真正優勢是H/VGroups少,在渲染上不夠友好(如果你的舞臺上有很多人使用它們,或者他們有很多孩子,他們使用的佈局會導致速度變慢。 )無論如何,我會用另一種方法來處理這個問題。

<s:HGroup id="rectContainer" width="100%" height="100%" gap="0"> 
    <s:Rect id="rect1" width="50%" height="100%"/> 
    <s:Rect id="rect2" width="100" height="100%"/> 
    <s:Rect id="rect3" width="{this.rectContainer.width - (.5 * this.rectContainer.width) - rect2.width}" height="100%"/> 
</s:HGroup>