Flex锁定页面遮罩
时间:2010-10-09 来源:董广祥
要做一個跟Confirm確認視窗差不多的功能
要先鎖定整個畫面
然後跳出別的操作畫面
等操作結束後
再將畫面解除鎖定
先用Flash做一個元件
設定形狀、顏色、大小、透明度等等
匯出成一個swf檔給Flex使用
在Flex用一個Canvas和SWFLoader
放在最上層
用visible去控制顯示或隱藏
這樣就可以鎖住畫面了
| 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" |
| 3 | width="400" height="400" verticalScrollPolicy="off" horizontalScrollPolicy="off"> |
| 4 | |
| 5 | <mx:Script> |
| 6 | <![CDATA[ |
| 7 | import mx.controls.Alert; |
| 8 | |
| 9 | //將外部資源嵌入swf檔 |
| 10 | [Embed(source="swf/waring_base_bg.swf")] |
| 11 | [Bindable] |
| 12 | private var myWaring_bg_Class:Class; |
| 13 | |
| 14 | [Embed(source="swf/ico_ok.swf")] |
| 15 | [Bindable] |
| 16 | private var myIco_ok_Class:Class; |
| 17 | |
| 18 | private function myClickFunction():void{ |
| 19 | myMask.visible = true; |
| 20 | |
| 21 | //遮罩上的Canvas |
| 22 | var myWaring:Canvas = new Canvas(); |
| 23 | myWaring.x = 70; |
| 24 | myWaring.y = 70; |
| 25 | myCanvas.addChild(myWaring); |
| 26 | |
| 27 | //遮罩上的圖示swf |
| 28 | var myWaring_bg:SWFLoader = new SWFLoader(); |
| 29 | myWaring_bg.source = myWaring_bg_Class; |
| 30 | myWaring.addChild(myWaring_bg); |
| 31 | |
| 32 | //遮罩上的圖示按鈕 |
| 33 | var myIco_ok:SWFLoader = new SWFLoader(); |
| 34 | myIco_ok.source = myIco_ok_Class; |
| 35 | myIco_ok.x = 125; |
| 36 | myIco_ok.y = 125; |
| 37 | myWaring.addChild(myIco_ok); |
| 38 | |
| 39 | myIco_ok.addEventListener(MouseEvent.CLICK, onClick_Ico_ok); |
| 40 | } |
| 41 | |
| 42 | //點擊遮罩上的按鈕 |
| 43 | private function onClick_Ico_ok(e:MouseEvent):void{ |
| 44 | myMask.visible = false; //將遮罩隱藏 |
| 45 | |
| 46 | //除了遮罩以外,將遮罩上的全部東西移除 |
| 47 | for(var i:int = 1; i < myCanvas.getChildren().length; i++){ |
| 48 | myCanvas.removeChildAt(i); |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | ]]> |
| 53 | </mx:Script> |
| 54 | |
| 55 | <mx:Button x="150" y="10" label="Button" click="myClickFunction();"/> |
| 56 | |
| 57 | <mx:Canvas id="myCanvas"> |
| 58 | <mx:SWFLoader id="myMask" source="@Embed('swf/mask.swf')" scaleX="10" scaleY="10" visible="false"/> |
| 59 | </mx:Canvas> |
| 60 | |
| 61 | </mx:Application> |
| 開新視窗(view plain) | 列印(print) | ? |
转载:http://itgroup.blueshop.com.tw/uuuiii00/AllenJ?n=convew&i=162719
相关阅读 更多 +
排行榜 更多 +










