2011-07-25 35 views
0

我已經使用adobe flex 3開發了一個應用程序。此應用程序中有許多自定義組件。假設最小屏幕分辨率爲1024 * 768,因此我開發了這款產品,因此我使用硬編碼寬度很少的組件。爲更高分辨率(1024 * 768或更高)無法以較低分辨率(800 * 600)工作的Flex 3應用程序

但是,我瞭解到客戶端在分辨率爲800 * 600的投影機上使用該產品。

當我試着在800 * 600分辨率下運行應用程序時,我無法使用該應用程序,因爲很少看到完整的屏幕。

我預測如果將應用程序設置爲800 * 600,則在更大的分辨率下看起來不太好。

我想知道如何以最小的效果解決這個問題?我無法決定是否必須以較低的分辨率重做大多數組件。

[編輯]

基於該答案,進行測試,我已經改變的部件的寬度和高度爲100%。基本上這個組件是TitleWindow,底部是ControlBar。並用於popup。我面臨的問題是,ControlBar沒有看到。該應用程序有VerticalScrollBar但仍然無法在彈出窗口中滾動。在垂直滾動應用程序正在滾動,但不是彈出。

希望你明白我的問題,並可以提出解決方案。

感謝

安吉

回答

1

你剛纔不應該使用硬編碼的大小在所有。使用percentWidth,percentHeight和佈局約束。

+0

感謝您的回覆。是的,我可以使用,但在開發過程中,我的印象是最低分辨率爲1024 * 768,並且在自定義組件中很少有兒童使用硬編碼的寬度和高度值。 – Anji

+0

+1你使用絕對寬度/高度值,你幾乎總是遇到麻煩。 –

1

一種選擇是使用百分比寬度。在ActionScript中,您可以在組件上設置percentWidthpercentHeight屬性。在MXML你可以指定百分號寬度或高度屬性,像這樣:

<mx:UIComponent width="100%" height="100%" /> 

另一種選擇是大小和基於組件的大小updateDisplayList()你的孩子的位置。傳遞給updateDisplayList()的值是組件的高度和寬度,由該組件的父級定義。

儘管MXML有時可以根據父級設置的大小掩蓋它,有時所有組件的大小和它們的子級都放在updateDisplayList()中。

+0

感謝您的回覆。我更新了我的問題。 – Anji

+1

@Anji你將不得不展示一些代碼和/或一些截圖以獲取更多幫助。根據您的更新,我無法指引您進入特定的方向。 – JeffryHouser