Flex消息提示框Alert

本文章轉自:http://blessht.iteye.com/blog/1108623

 

在任何BS項目中,消息提示框都是非常常見的功能組件,flex在AIR的渲染下,消息提示框也是做得非常漂亮美觀。

 

Flex的消息提示框由mx.controls.Alert類負責創建,通常通過調用靜態方法show(即可實現提示框的創建):

Java代碼 複製代碼 收藏代碼
  1. public static show (   
  2.     text:String,                        //消息提示內容   
  3.     title:String=null,                  //標題   
  4.     flags:uint=mx.controls.Alert.OK,    //按鈕組合   
  5.     parent:Sprite=null,                 //Alert 控件的父對象   
  6.     clickListener:Function=null,        //指定 click 事件的偵聽器   
  7.     iconClass:Class=null,               //指定對話框中消息文本左側的圖標   
  8.     defaultButton:uint=mx.controls.Alert.OK  //使用一個標誌參數的合法值指定默認按鈕。當用戶按下回車時,此按鈕就被選中,其默認值是 Alert.OK.   
  9.     )  
public static show (
	text:String,                        //消息提示內容
	title:String=null,                  //標題
	flags:uint=mx.controls.Alert.OK,    //按鈕組合
	parent:Sprite=null,                 //Alert 控件的父對象
	clickListener:Function=null,        //指定 click 事件的偵聽器
	iconClass:Class=null,               //指定對話框中消息文本左側的圖標
	defaultButton:uint=mx.controls.Alert.OK  //使用一個標誌參數的合法值指定默認按鈕。當用戶按下回車時,此按鈕就被選中,其默認值是 Alert.OK.
	)

 

show方法內所有參數都是非必選的。

參數flags表示彈出框下面生成幾種按鈕,alert類提供了四個按鈕:是、否、確定和取消,由四個整數抽象表示:

Java代碼 複製代碼 收藏代碼
  1. Alert.OK         4      
  2. Alert.NO         2  
  3. Alert.YES        1  
  4. Alert.CANCEL 8  
Alert.OK         4   
Alert.NO         2
Alert.YES        1
Alert.CANCEL 8

 具體使用方法詳見後面的代碼。

參數clickListener可實現點擊按鈕事件監聽,也就是說可以通過監聽來判斷用戶點擊的是哪個按鈕,從而根據不同選擇實現不同操作。

 

 

下面來看一個實例:在界面上有三個按鈕,每點擊一個按鈕彈出一個提示框。這個功能非常簡單,只需要給每個button綁定click事件即可:

Xml代碼 複製代碼 收藏代碼
  1. <fx:Script>  
  2.         <![CDATA[  
  3.             import mx.controls.Alert;  
  4.             import mx.events.CloseEvent;  
  5.               
  6.               
  7.             protected function button1_clickHandler(event:MouseEvent):void  
  8.             {  
  9.                 var myAlert:Alert = Alert.show("顯示對話框...","提示");  
  10.                 myAlert.height = 200; //高度  
  11.                 myAlert.width = 200;  //寬度  
  12.             }  
  13.  
  14.             protected function button2_clickHandler(event:MouseEvent):void  
  15.             {  
  16.                 Alert.show("你確定此操作嗎?","提示",Alert.OK|Alert.CANCEL|Alert.YES|Alert.NO,this,handler);  
  17.             }                 
  18.                  
  19.             protected function button3_clickHandler(event:MouseEvent):void  
  20.             {  
  21.                 Alert.yesLabel = "喲系yes";  
  22.                 Alert.noLabel = "呀滅no";  
  23.                 Alert.cancelLabel = "哦cancel";  
  24.                 var myAlert:Alert = Alert.show("選擇操作...","提示",1|2,this,handler);  
  25.             }  
  26.               
  27.             private function handler(e:CloseEvent):void{  
  28.                 //顯示事件選擇的值  
  29.                 Alert.show(e.detail.toString());  
  30.             }  
  31.  
  32.         ]]>  
  33.     </fx:Script>  
  34.   
  35.     <fx:Declarations>  
  36.         <!-- 將非可視元素(例如服務、值對象)放在此處 -->  
  37.     </fx:Declarations>  
  38.     <s:Button label="按鈕1" click="button1_clickHandler(event)"/>  
  39.     <s:Button label="按鈕2" click="button2_clickHandler(event)"/>  
  40.     <s:Button label="按鈕3" click="button3_clickHandler(event)"/>  

 需要注意的是Alert.yesLabel、Alert.noLabel、Alert.cancelLabel等等set方法是全局的,如果相應屬性值改變,則其它Alert對象也會跟着改變。

 

 

最後看下運行效果:

 




 
 

 

發佈了22 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章