2011-03-05 35 views
0

在Flex 3中,我的AIR應用程序設置始終使本機窗口在啓動時不可見,以便應用程序可以從本地共享對象調用存儲的窗口位置和大小。之後,它設置最後使用的窗口的pos和大小,然後通過調用nativeWindow.activate()使得本地窗口可見。Flex4 AIR NativeWindow在啓動時不會隱藏

很乾淨,總是工作無瑕!現在輸入Flex 4 ...

在Flex 4中,AIR描述符文件中的visible屬性由於某種原因似乎被忽略。該文檔指出它應該可以工作,但在我的簡單測試中,AIR始終使該窗口在啓動後立即可見,而不管該設置是否可見爲false。

有誰知道如何讓它像Flex 3一樣工作嗎?

編輯:好,所以文檔聲明Flex mx:WindowedApplication(和s:WindowedApplication?!?)組件自動顯示並在調用applicationComplete事件之前立即激活窗口,除非visible屬性設置爲false MXML定義。

這就解釋了爲什麼它本身可以全部看到,即使它在某種程度上無視了首先將可見性設置爲false的目的。 但是,如果將WindowedApplication.visible設置爲false,則應用程序窗口很快就會按預期顯示,但在幾分之一秒後立即再次隱藏。看起來,nativeWindow.activate()被調用得太快,因爲如果我等待一幀然後調用它,它會像它應該那樣工作並保持可見狀態。不過,我懷疑這是使用callLater或enterFrame處理程序等待下一幀被觸發的最佳做法。

回答

0

當應用程序初始化時,您是否試圖將false設置爲false?把它放在你的WindowedApplication標籤上。

initialize="visible=false" creationComplete="visible=true"