Flex 框架的拖拽能力允許用戶可視化地從一個地方移動數據到另一個地方,這大大增強了富互聯網應用程序的體驗性。任何擴展了mx.core.UIComponent 類的組件都支持拖拽。在一個拖拽操作中,有一個初始方(initiator)和一個接收方(receiver)。任何一個UIComponent的實例都能接受由拖拽動作初始的釋放操作。一些列表類的Flex 組件,如List、Tree 和DataGrid,具有管理拖拽操作的內置支持。這實現了從一個地方移動數據到另一個地方和組
件本身的過程的自動化。
一個拖拽操作始于一個鼠標動作。你通過點擊鼠標選擇一個組件或條目(item),然后保持鼠標按鈕的按下狀態,拖拽這個條目。在拖拽的同時,一幅被稱為拖拽代理的圖像顯示出來,并隨著鼠標移動,表明這個條目正在被拖拽。連同拖拽代理一起,一些內置的圖標顯示出來表明指針經過一個接受釋放操作的組件。要使一個組件接受釋放操作,你應該在組件上設置拖拽事件處理器。一個可釋放組件被認為是一個釋放目標,它可以檢查拖拽源數據,以確定這些數據的格式是否被這個組件所接受。拖拽源數據能夠從一個組件被復制或移動到另一個組件,甚至是同一個組件——這個組件既是拖拽初始器也是釋放目標。
本章著重講解Flex 框架的拖拽能力,以及它們怎樣豐富用戶的體驗。
目錄
10.1.使用DragManager 類
10.2.指定一個拖拽代理
10.3.在List 內部進行拖拽操作
10.4.在List 之間進行拖拽操作
10.5.啟動和禁止拖操作
10.6.自定義列表類控件的拖動圖像
10.7.自定義列表類控件的拽動指示器
|
新聞熱點
疑難解答