2011-04-28 102 views
1

我已經給出了通過顯式設置寬度和高度來響應用戶交互來調整組容器大小的看似簡單的任務。但是,更改這些值完全不會影響容器的大小。更改scaleX和/或scaleY會改變容器的大小,但這不是我所追求的行爲。通過設置寬度和高度來調整火花組的大小

我已經嘗試覆蓋updateDisplayList()設置特定的寬度和高度,但是這並沒有產生期望的結果。

如果任何人有一個好的教程的鏈接,或可以任何其他方式對解決方案作出貢獻,那麼我將不勝感激。 Google似乎並不是我的朋友。

編輯

<?xml version="1.0" encoding="utf-8"?> 
<s:Group xmlns:fx="ns.adobe.com/mxml/2009" ; 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    width="400" height="300" 
    click="resize()"> 
    <fx:Script> 
     <![CDATA[ 
      private function resize():void 
      { 
       width = 500; 
       height = 300; 
      } 
     ]]> 
    </fx:Script> 
</s:Group> 
+0

你可以發佈一個示例代碼,其中的問題可以複製? – user700284 2011-04-28 10:57:10

+0

user700284。這樣的事情可以做到這一點: '<?xml version =「1.0」encoding =「utf-8」?> private function resize():void { width = 500; height = 300; } ]]> ' (對不起,垃圾評論。我的手指是不是好朋友,今天我的鍵盤) – madsmao 2011-04-28 11:08:37

+0

,請下次再編輯你的問題,以共享代碼,不糊長行代碼的註釋中。 – rekaszeru 2011-04-28 11:11:18

回答

1

其實你的方法工作得很好,但你需要有一個組裏面的一些內容,或者使用BorderContainer代替:

<?xml version="1.0" encoding="utf-8"?> 
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    click="doResize();"> 
    <fx:Script> 
     <![CDATA[ 

      public function doResize():void 
      { 
       this.width = 300; 
       this.height = 200; 
      } 

     ]]> 
    </fx:Script> 
</s:Group> 

要堅持你的問題,我已經把TextArea到這個組來自主應用程序的實例,並且它被調整大小。

+0

我的組中有內容。我只是沒有在示例代碼中包含它。我真的不明白爲什麼這不適合我。難道是因爲我的小組嵌套在另一個縮放的小組內? – madsmao 2011-04-28 11:54:27

+0

你在「羣組」中有什麼樣的內容?它有一個可視化的佈局,所以你可以告訴它是否調整大小? – rekaszeru 2011-04-28 11:58:17

+0

我有另一個組和擴展SpriteVisualElement的幾個元素。 – madsmao 2011-04-28 11:59:32

0

你組在視覺空,click處理程序不會被調用。嘗試使用BorderContainerbackgroundColor

+0

點擊被調用。我在裏面放了一絲痕跡。我也剛剛嘗試使用BorderContainer,結果仍然相同。或者我應該說,同樣的缺失結果。 – madsmao 2011-04-28 12:02:18

相關問題