两个list之间的拖动,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="creationHandler();">
<mx:Script>
<![CDATA[
import mx.events.DragEvent;
import mx.collections.ArrayCollection;
[Bindable]
public var isEnabled:Boolean = true;
private static const DIS_LABEL:String = "不能拖拽";
private static const EN_LABEL:String = "可以拖拽";
private function creationHandler():void {
list1.dataProvider = new ArrayCollection(['Spider Monkey', 'Orangutan', 'Gorilla']);
list2.dataProvider = new ArrayCollection(['Lion', 'Cheetah', 'Puma'])
}
private function clickHandler():void {
enableBtn.label = ( enableBtn.label == DIS_LABEL ) ? EN_LABEL : DIS_LABEL;
isEnabled = !isEnabled;
}
private function dragEnterHandler( evt:DragEvent ):void {
evt.target.dropEnabled = ( evt.target != evt.dragInitiator );
}
]]>
</mx:Script>
<mx:VBox width="100%" height="100%">
<mx:Button id="enableBtn" label="{EN_LABEL}" click="clickHandler();"/>
<mx:HBox width="100%" height="100%">
<mx:List id="list1" width="200" height="200" dragEnabled="{isEnabled}" dragMoveEnabled="true" dragEnter="dragEnterHandler(event);"/>
<mx:List id="list2" width="200" height="200" dragEnabled="{isEnabled}" dragMoveEnabled="true" dragEnter="dragEnterHandler(event);"/>
</mx:HBox>
</mx:VBox>
</mx:Application>