2011-06-27 63 views
0

我想用Flex 4.5創建一個完全可重新定義的應用程序。我已經嘗試過了,但我的方法似乎很難保持,所以對我來說看起來並不好。這裏是我的方法:完全可重用的應用程序 - Flex 4.5

  1. 關於HTML我確實有其檢測用戶的顯示器分辨率,然後重定向到Flash容器HTML(一個JSP)讀取寬度和高度參數,使閃光燈的第一頁大小通過
  2. 在我的應用程序中使用的1280×720作爲基準尺寸,所以我已經創建了一個工具類:

包utils的 { 進口mx.collections.ArrayCollection; import mx.core.FlexGlobals; import mx.resources.ResourceManager; import mx.utils.ObjectProxy;

/** 
* 
* @author user 
* 
*/ 
public final class LayoutUtils 
{ 
    /** 
    * 
    * 
    */ 
    public function LayoutUtils() 
    { 
     throw new Error("Boooohhhhhhhhhh"); 
    } 

    public static function relativeToHeight(percentageValue:Number):Number 
    { 
     return percentageValue * FlexGlobals.topLevelApplication.height/100; 
    } 

    public static function relativeToWidth(percentageValue:Number):Number 
    { 
     return percentageValue * FlexGlobals.topLevelApplication.width/100; 
    } 
} 

}

我通過相對於高度或寬度的百分比值,我回來了這一點。因此,我實際上將組件的高度/寬度綁定到例如{LayoutUtils.relativeToWidth(50)},如果我的應用程序寬度爲1280,則返回640.但這意味着將寬度和/或高度設置爲幾乎每個組件,並且這還包括填充和錨定位置,這使得它成爲一塌糊塗。

您有任何其他建議嗎?我希望一切都能正確重新調整大小(包括字體)。所有可用的尺寸將會保持相同的長寬比,例如16:9,因爲我看不到其他方式。

有什麼建議嗎?

+0

我不知道你想要的是「完全可調整」。默認情況下,只要HTML容器調整大小,Flex也可以調整大小。除非你想要的是Flex的縮放(它不是默認的)。 –

回答

1

如果你想擴展什麼,你的應用程序容器(精靈)上使用scaleXscaleY並設置

stage.scaleMode = StageScaleMode.SHOW_ALL; 
+0

謝謝你的回答。我還沒有測試過,所以如果我在我的應用程序的創建完成處理程序中輸入了代碼,我將SWF文件包含在兩個不同的html文件中,一個定義對象爲1280x720,其他1600x900整個應用程序(字體等)將相應縮放? – DaTroop

+0

是的,請在您的調試播放器中嘗試並調整窗口大小。它應該隨後擴展。 – DanielB

+0

我將需要在瀏覽器中重新調整Flash對象的大小以進行水平居中定位。我希望它會好的。再次感謝! – DaTroop

相關問題