flex元件在建立的時候都會經歷四個事件:preinitialize, initialize, creationcomplete和updatecomplete (updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的)。我這裡有個例子來檢測在巢狀和平行的情況下,測試各個元件的事件丟擲順序。
<?xml version="1.0" encoding="utf-8"?>看著有點混亂,不過仔細看看,可以把過程分成兩個部分。很明顯,所有的creationcomplete和updatecomplete發生在第二次update的時候,之前flex元件只是做一些設定和計算的工作,並沒有在畫布上畫任何東西。除此以外,還有這麼一些規律:preinitialize="showevent(event)"
initialize="showevent(event)"
creationcomplete="showevent(event)"
updatecomplete="showevent(event)">> "+
event.currenttarget.name+" "+event.type);
}]]>
輸出是:
1299 >> eventtest0 preinitialize
1307 >> canv1 preinitialize
1310 >> btn1 preinitialize
1318 >> btn1 initialize
1319 >> canv1 initialize
1320 >> btn2 preinitialize
1321 >> btn2 initialize
1321 >> eventtest0 initialize
[swf] g:\projects\eventtest\bin-debug\eventtest.swf - 588,818 bytes after decompression
1387 >> btn1 creationcomplete
1387 >> btn1 updatecomplete
1387 >> canv1 creationcomplete
1387 >> canv1 updatecomplete
1388 >> btn2 creationcomplete
1388 >> btn2 updatecomplete
1388 >> eventtest0 creationcomplete
1390 >> eventtest0 updatecomplete
* 就單個元件而言,事件的丟擲順序是preinitialize,initialize,creationcomplete
* 巢狀關係的兩個元件(比如canvas和button1),preinitialize先外後內 ,initialize和creationcomplete先內後外 。只是creationcomplete要在下一次update才會發生 。
* 平行關係的兩個元件(比如canvas和button2),按mxml內的順序,只有前面元件initialize結束後,後面的元件才會丟擲preinitialize。
flex 初始化時的事件測試
flex 初始化時的事件測試 flex元件在建立的時候都會經歷四個事件 preinitialize,initialize,creationcomplete和 updatecomplete updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的 我這裡有個例子來檢測在巢狀和...
Flex 初始化時全屏的問題
stage.displaystate stagedisplaystate.full screen 在上面這種情況下,不響應鍵盤事件,下面全屏後仍然響應鍵盤事件,不過只是在air下才有這個模式哦。stage.displaystate stagedisplaystate.full screen inte...
Flex初始化時載入外部XML
flex初始化時載入外部xml配置檔案 flex專案中經常需要同伺服器進行資料互動,可以將伺服器訪問位址寫到到xml配置中,在flex初始化時讀取到記憶體。省去因伺服器位址變化而重新編譯flex程式的麻煩。1 新增xml配置檔案 config.xml http localhost 2286 http...