成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解Flex控件拖動技術

開發(fā) 后端
本文向大家介紹一下Flex控件拖動概念,在程序中如果想實現(xiàn)Flex控件拖動一般的實現(xiàn)思路應該是監(jiān)聽鼠標的按下事件、鼠標的移動事件以及鼠標釋放事件。

本文和大家重點討論一下Flex控件拖動,在程序中如果想實現(xiàn)Flex控件拖動一般的實現(xiàn)思路應該是監(jiān)聽鼠標的按下事件、鼠標的移動事件以及鼠標釋放事件。

Flex控件拖動

在程序中如果想實現(xiàn)Flex控件拖動一般的實現(xiàn)思路應該是監(jiān)聽鼠標的按下事件、鼠標的移動事件以及鼠標釋放事件。在mousedown的時候做一個 flag,表示鼠標已經按下,并且保存鼠標按下時的坐標。然后再mousemove的時候判斷flag是否是鼠標按下狀態(tài),得到鼠標的偏移量根據移動的偏 移量調節(jié)控件的位置。最后在mouseup事件中將flag還原。

在Flex中這一切變得非常簡單,因為Flex在Sprite類中定義了兩個函數(shù)startDrag()和stopDrag()。大家可能對Sprite 類不太熟悉。的確直接用到這個類的時候確實不多,但是我們對這個類的子類應該是非常熟悉的UIComponent。哈哈,看到重量級的了吧。 UIComponent類可是所有可視控件的鼻祖,也就是說我們能看到的所有的控件都是Sprite的子類。也就意味著所有的可視控件都擁有 startDrag()和stopDrag()這兩個函數(shù)。

這時候大家要問了,說了這個么半天這兩個函數(shù)有什么特殊之處呢?這和瘋狂有什么聯(lián)系呢?接下來我來說是這個兩個瘋狂的函數(shù)。首先說startDrag,官 方文檔上是這樣描述的:“讓使用者拖動制定的Sprite,拖動狀態(tài)會一直保持,直到明確的調用stopDrag函數(shù)或者另外一個Sprite開始拖動。

 同一個時間內只能有一個Sprite處于拖動狀態(tài)”。也就是說如果想實現(xiàn)某個Flex控件拖動,直接調用startDrag函數(shù)就可以了,結束拖動就調用 stopDrag函數(shù)。最原始的控件拖動思想在Flex中再無用武之地了。然后再簡單提一下stopDarg函數(shù),因為剛才在介紹startDrag函數(shù) 中已經提到這個函數(shù)的作用了,所以直接把官方說明在說一下:“結束startDarg函數(shù)。在調用stopDrag函數(shù)或者另外一個Sprite被拖動之 前Sprite會保持拖動狀態(tài)。同一個時間內只能有一個Sprite處于拖動狀態(tài)”。

最簡單的實現(xiàn)方法,在想要拖動的Flex控件的mouseDown事件中調用startDrag函數(shù),然后再控件的mouseUp事件中調用stopDrag函數(shù) 就非常輕松的實現(xiàn)了控件拖動,僅僅只有兩行代碼。

下面是實現(xiàn)一個按鈕拖動的例子:

  1. view plaincopy to clipboardprint?  
  2. <?xml version="1.0" encoding="utf-8"?>   
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">   
  4. <mx:Button id="btn" mouseDown="startMove(event)" mouseUp="stopMove(event)" label="move"/>   
  5. <mx:Script>   
  6. <!--[CDATA[     
  7. private function startMove(event:Event):void     
  8. {     
  9. Sprite(event.target).startDrag();     
  10. }     
  11. private function stopMove(event:Event):void     
  12. {     
  13. Sprite(event.target).stopDrag();     
  14. }     
  15. ]]-->   
  16. </mx:Script>   
  17. </mx:Application>   
  18. <?xml version="1.0" encoding="utf-8"?> 
  19. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*"> 
  20. <mx:Button id="btn" mouseDown="startMove(event)" mouseUp="stopMove(event)" label="move"/> 
  21. <mx:Script> 
  22. <!--[CDATA[  
  23. private function startMove(event:Event):void  
  24. {  
  25. Sprite(event.target).startDrag();  
  26. }  
  27. private function stopMove(event:Event):void  
  28. {  
  29. Sprite(event.target).stopDrag();  
  30. }  
  31. ]]--> 
  32. </mx:Script> 
  33. </mx:Application> 
  34.  

 【編輯推薦】

  1. 五大方法實現(xiàn)Flex性能優(yōu)化
  2. 技術分享 添加FLex右鍵菜單的方法
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 12個Flex常用功能代碼再現(xiàn)
  5. 學習筆記 Flex國際化如何支持其他語言

 

 
 

責任編輯:佚名 來源: javaeye.com
相關推薦

2010-07-30 09:56:02

Flex控件

2010-08-10 17:13:58

Flex技術

2010-08-12 09:25:35

Flex控件

2010-08-02 16:00:55

Flex配置

2010-07-30 10:02:40

Flex驗證控件

2010-07-30 10:13:38

Flex控件

2010-08-09 09:09:43

Flex技術

2010-07-27 14:58:02

Flex ArrayC

2009-07-15 11:20:05

MyEclipse F

2010-08-05 09:05:14

Flex Button

2009-06-16 15:25:17

SilverlightJavaFXFlex

2010-08-09 13:25:02

FlexSilverlight

2010-08-06 14:13:31

FlexDataGrid分頁控

2010-08-09 15:41:13

Flex字體

2010-08-09 09:41:02

Flex3

2010-07-28 12:41:18

Flex組件

2010-07-27 10:19:28

Flex

2010-08-12 13:59:37

FlexList控件

2010-07-27 14:00:53

Flex ComboB

2010-08-06 15:11:44

Flex界面控件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久精品 | 超碰在线人人 | 99自拍视频 | 精品福利在线 | 一级视频在线免费观看 | 欧美在线视频a | www.亚洲一区 | 欧美国产激情 | 一级做a爰片性色毛片视频停止 | 成人乱人乱一区二区三区软件 | 成人午夜影院 | 天天曰夜夜 | 一区二区三区免费观看 | 久热精品在线观看视频 | 黄a在线观看 | 国产精品永久免费 | 91色站 | 色综合视频在线 | 国产成人精品午夜视频免费 | 青青草社区 | 久久久91精品国产一区二区三区 | 国产美女一区二区 | 中文字幕一二三区 | 免费影视在线观看 | 欧美成视频 | 久久久久免费精品国产 | 91大神新作在线观看 | 伊色综合久久之综合久久 | 亚洲第一在线视频 | 成人无遮挡毛片免费看 | 99re在线视频| 亚洲欧美综合 | 欧美成人在线影院 | 91精品久久久 | 午夜精品一区二区三区在线视频 | 黄色大片免费播放 | 91网在线观看 | 日本精品视频一区二区三区四区 | 欧美成人一级 | 亚洲欧美综合精品久久成人 | 国产91观看 |