2011-08-11 91 views
0

我已經開始學習flex 4了,我開始思考如何改變視圖。所以我有一個問題,人們通常使用什麼 - 狀態或視圖(ViewStack)。我正在製作的Web應用程序的類型可以同時使用,但開發人員在大型項目中使用了哪些類型的應用程序,或者他們之前可能會使用以前提到的那些?什麼是flex中最好的視圖體系結構?

另外我有一個關於ViewStack的問題。如果我寫:

<mx:ViewStack id="views" resizeToContent="true" verticalCenter="0" horizontalCenter="0" > 
    <s:NavigatorContent id="navOne"> 
     <s:Label text="asdas" x="0" y="0"/> 
    </s:NavigatorContent> 

那麼我不能改變它的孩子的位置。標籤保留在屏幕的中心。如果我從ViewStack中刪除垂直和水平中心並將它們放在Label的標籤中,則標籤將位於左上角,但不在中間。我如何控制這些位置?

回答

2

就你使用Flex 4而言,你可以更喜歡狀態。而且至少有兩個原因:

  1. Flex 4的狀態比在的Flex 3
  2. 的Flex 4還沒有星火實施ViewStack更聲明,這是相當過時(使用NavigatorContent的必要性用Spark容器就是這個事實的另一個證明)。

問題的第二部分。問題是你的ViewStack有沒有任何大小。所以最後它有內容大小(Label大小)。所以verticalCenterhorizontalCenter只是你的ViewStack對齊。要控制尺寸和對齊ViewStack,您應該關心尺寸。例如:

<mx:ViewStack id="views" resizeToContent="true" verticalCenter="0" 
    horizontalCenter="0" width="500" height="300" > 
    <s:NavigatorContent id="navOne" width="100%" height="100%"> 
     <s:Label text="asdas" x="0" y="0"/> 
    </s:NavigatorContent> 
+1

如果使用Flex 4,我只使用狀態,因爲我沒有看到使用viewstack完成同樣的事情。如果你願意,我相信你可以在幾十行代碼中創建一個Spark Viewstack等價物。 –

+0

感謝您的澄清。 +感謝第二個問題的幫助,現在它按照我的意圖工作。 – randomUser56789

相關問題