2011-11-29 35 views
1

我試圖建立在對窗口的左下角的一個固定位置上的Flex應用程序彈出通知。即使瀏覽器調整大小或滾動,彈出窗口(mx.TitleWindow)也會與瀏覽器一起修復。將底部屬性設置爲0,但在瀏覽器窗口調整大小或滾動時不起作用。有沒有辦法將彈出窗口設置爲瀏覽器?Flex中是否有類似於html的固定位置?

+0

你真的想瀏覽器的大小?或者你想要Flex應用程序的大小?您將永遠無法創建超出SWF視覺邊界的Flex彈出窗口。 – JeffryHouser

+0

對不起,我改寫了問題..這是(http://www.w3schools.com/cssref/playit.asp?filename=playcss_position&preval=fixed)的柔性可能嗎? – Wenn

回答

1

爲了實現這個功能,應用程序在應用程序更改其尺寸並將彈出窗口放置在適當位置時應該知道彈出父窗口(在本例中,創建彈出窗口並使用PopUpManager的組件,而不是第二個參數) 。嘗試在主應用程序中添加調整大小偵聽器,並從中派發自定義事件。偵聽此事件,在彈出的父母,然後用重新彈出相應事件處理程序:

var application:UIComponent = FlexGlobals.topLevelApplication as UIComponent 
popup.x = 5; 
popup.y = application.height - 170; 

記住,這些座標是相對於在瀏覽器中當前所觀看的區域。這樣,您可以將彈出窗口放置在一個固定的位置(在這種情況下,在左下角)。嘗試使用UI組件失效機制(如果可能),以避免重複的維度計算。

的另一種方法來解決這個問題是要落實機制在主應用程序管理彈出窗口。在這兩種情況下,定位代碼應該是這樣的。